<?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: hover on popup list in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/hover-on-popup-list/m-p/1175770#M77406</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/400217"&gt;@LaurenBoyd&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Great! Thank you very much!&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 19 May 2022 22:08:44 GMT</pubDate>
    <dc:creator>rabeya08</dc:creator>
    <dc:date>2022-05-19T22:08:44Z</dc:date>
    <item>
      <title>hover on popup list</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/hover-on-popup-list/m-p/1137736#M76116</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am trying to achieve this:&lt;/P&gt;&lt;P&gt;click on any point in the map, gives a popup menu list (no problem in this part).&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="rabeya08_0-1643246242787.jpeg" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/32432iED1DD77051C64E87/image-size/medium?v=v2&amp;amp;px=400" role="button" title="rabeya08_0-1643246242787.jpeg" alt="rabeya08_0-1643246242787.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Then if you hover on that popup menu, you will see the corresponding feature highlighted on map.&lt;/P&gt;&lt;P&gt;I am stuck with the hover on popup part, any help will be highly appreciated&lt;/P&gt;&lt;P&gt;Here is the sample code from&amp;nbsp;&amp;nbsp;&lt;A href="https://developers.arcgis.com/javascript/latest/sample-code/sandbox/?sample=featurelayer-query-basic" target="_blank" rel="noopener"&gt;https://developers.arcgis.com/javascript/latest/sample-code/sandbox/?sample=featurelayer-query-basic&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt; &amp;lt;meta
      name="viewport"
      content="initial-scale=1,maximum-scale=1,user-scalable=no"
    /&amp;gt;
    &amp;lt;title&amp;gt;
      Basic Querying in FeatureLayer | Sample | ArcGIS API for JavaScript 4.22
    &amp;lt;/title&amp;gt;

    &amp;lt;link
      rel="stylesheet"
      href="https://js.arcgis.com/4.22/esri/themes/light/main.css"
    /&amp;gt;
    &amp;lt;script src="https://js.arcgis.com/4.22/"&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;style&amp;gt;
      html,
      body,
      #viewDiv {
      height: 100%;
      width: 100%;
      margin: 0;
      padding: 0;
      }
      #optionsDiv {
      background-color: white;
      color: black;
      padding: 6px;
      max-width: 400px;
      }
    &amp;lt;/style&amp;gt;
    &amp;lt;script&amp;gt;
      require([
        "esri/Map",
        "esri/Graphic",
        "esri/views/MapView",
        "esri/layers/FeatureLayer",
        "esri/widgets/Legend"
      ], (Map, Graphic, MapView, FeatureLayer, Legend) =&amp;gt; {
        // Crime in SF
        const layer = new FeatureLayer({
          // autocasts as new PortalItem()
          portalItem: {
            id: "234d2e3f6f554e0e84757662469c26d3"
          },
          outFields: ["*"]
        });

        const map = new Map({
          basemap: "gray-vector",
          layers: [layer]
        });

        const view = new MapView({
          container: "viewDiv",
          map: map,
          popup: {
            autoOpenEnabled: false,
            dockEnabled: true,
            dockOptions: {
              // dock popup at bottom-right side of view
              buttonEnabled: false,
              breakpoint: false,
              position: "bottom-right"
            }
          }
        });

        const legend = new Legend({
          view: view,
          layerInfos: [
            {
              layer: layer
            }
          ]
        });

        view.ui.add(legend, "bottom-left");
        view.ui.add("optionsDiv", "top-right");

        // additional query fields initially set to null for basic query
        let distance = null;
        let units = null;

        //create graphic for mouse point click
        const pointGraphic = new Graphic({
          symbol: {
            type: "simple-marker", // autocasts as new SimpleMarkerSymbol()
            color: [0, 0, 139],
            outline: {
              color: [255, 255, 255],
              width: 1.5
            }
          }
        });

        // Create graphic for distance buffer
        const bufferGraphic = new Graphic({
          symbol: {
            type: "simple-fill", // autocasts as new SimpleFillSymbol()
            color: [173, 216, 230, 0.2],
            outline: {
              // autocasts as new SimpleLineSymbol()
              color: [255, 255, 255],
              width: 1
            }
          }
        });

        // when query type changes, set appropriate values
        const queryOpts = document.getElementById("query-type");

        queryOpts.addEventListener("change", () =&amp;gt; {
          switch (queryOpts.value) {
            // values set for distance query
            case "distance":
              distance = 0.5;
              units = "miles";
              break;
            default:
              // Default set to basic query
              distance = null;
              units = null;
          }
        });
        layer.load().then(() =&amp;gt; {
          // Set the view extent to the data extent
          view.extent = layer.fullExtent;
          layer.popupTemplate = layer.createPopupTemplate();
        });

        view.on("click", (event) =&amp;gt; {
          view.graphics.remove(pointGraphic);
          if (view.graphics.includes(bufferGraphic)) {
            view.graphics.remove(bufferGraphic);
          }
          queryFeatures(event);
          console.log(view.graphics);
          console.log("popup");
          console.log(view.popup);
        });

        function queryFeatures(screenPoint) {
          const point = view.toMap(screenPoint);
          layer
            .queryFeatures({
              geometry: point,
              // distance and units will be null if basic query selected
              distance: distance,
              units: units,
              spatialRelationship: "intersects",
              returnGeometry: false,
              returnQueryGeometry: true,
              outFields: ["*"]
            })
            .then((featureSet) =&amp;gt; {
              // set graphic location to mouse pointer and add to mapview
              pointGraphic.geometry = point;
              view.graphics.add(pointGraphic);
              // open popup of query result
              view.popup.open({
                location: point,
                features: featureSet.features,
                featureMenuOpen: true
                //fetchFeatures: true
              });
              view.popup.container.onclick = function () {
                var menuLists = document.getElementsByClassName(
                  "esri-popup__feature-menu-list"
                );
                var ol = menuLists[0];
                var node = ol.firstChild;
                var i = 1;
                while (node) {
                  //console.log(node.textContent)
                  node.addEventListener("click", itemClicked);
                  node.ind = i;
                  i = i + 1;
                  node = node.nextSibling;
                }

                function itemClicked(e) {
                  console.log("item clicked ");
                  console.log(e.currentTarget.ind);
                }
              };

              //  console.log("popupdf")
              // };

              if (featureSet.queryGeometry) {
                bufferGraphic.geometry = featureSet.queryGeometry;
                view.graphics.add(bufferGraphic);
              }
            });
        }
      });
    &amp;lt;/script&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;div id="viewDiv"&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div id="optionsDiv" class="esri-widget"&amp;gt;
      &amp;lt;p&amp;gt;
        Select a query type and click a point on the map to view the results.
      &amp;lt;/p&amp;gt;
      &amp;lt;select id="query-type" class="esri-widget"&amp;gt;
        &amp;lt;option value="basic"&amp;gt;Basic Query&amp;lt;/option&amp;gt;
        &amp;lt;option value="distance"&amp;gt;Query By Distance&amp;lt;/option&amp;gt;
      &amp;lt;/select&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jan 2022 01:17:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/hover-on-popup-list/m-p/1137736#M76116</guid>
      <dc:creator>rabeya08</dc:creator>
      <dc:date>2022-01-27T01:17:46Z</dc:date>
    </item>
    <item>
      <title>Re: hover on popup list</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/hover-on-popup-list/m-p/1137997#M76136</link>
      <description>&lt;P&gt;Hi there,&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is not possible out of the box in the API. We can look into adding this for the popup feature menu. However, I do not know if this will be implemented or when it will be implemented. If we add this feature, I will be sure to update.&amp;nbsp;&lt;/P&gt;&lt;P&gt;In meantime, do you think you can use approached used in this sample?&amp;nbsp;&lt;A href="https://developers.arcgis.com/javascript/latest/sample-code/sandbox/?sample=featurelayerview-query" target="_blank"&gt;https://developers.arcgis.com/javascript/latest/sample-code/sandbox/?sample=featurelayerview-query&lt;/A&gt;&lt;/P&gt;&lt;P&gt;You could update the sample to listen to mouseover event of the listNodes.&amp;nbsp;listNode.addEventListener("mouseover", onListClickHandler);&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jan 2022 18:40:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/hover-on-popup-list/m-p/1137997#M76136</guid>
      <dc:creator>UndralBatsukh</dc:creator>
      <dc:date>2022-01-27T18:40:43Z</dc:date>
    </item>
    <item>
      <title>Re: hover on popup list</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/hover-on-popup-list/m-p/1138234#M76148</link>
      <description>&lt;P&gt;Thank you for your reply and for the attached code link.&lt;/P&gt;&lt;P&gt;I will see if I can find a workaround.&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Fri, 28 Jan 2022 07:17:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/hover-on-popup-list/m-p/1138234#M76148</guid>
      <dc:creator>rabeya08</dc:creator>
      <dc:date>2022-01-28T07:17:02Z</dc:date>
    </item>
    <item>
      <title>Re: hover on popup list</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/hover-on-popup-list/m-p/1170756#M77220</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/500052"&gt;@rabeya08&lt;/a&gt;&amp;nbsp;-&lt;/P&gt;&lt;P&gt;The functionality to highlight features in the map that are corresponding to a hovered item in the popup feature menu will be available in version 4.24.&lt;/P&gt;</description>
      <pubDate>Wed, 04 May 2022 18:28:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/hover-on-popup-list/m-p/1170756#M77220</guid>
      <dc:creator>LaurenBoyd</dc:creator>
      <dc:date>2022-05-04T18:28:18Z</dc:date>
    </item>
    <item>
      <title>Re: hover on popup list</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/hover-on-popup-list/m-p/1175755#M77405</link>
      <description>&lt;P&gt;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/500052"&gt;@rabeya08&lt;/a&gt;&amp;nbsp;- you can see the new functionality with the &lt;A href="https://github.com/Esri/feedback-js-api-next" target="_self"&gt;"next" version&lt;/A&gt;&amp;nbsp;of the API. Here is the sample above showing the new highlight on feature menu hover functionality:&amp;nbsp; &lt;A href="https://codepen.io/laurenb14/pen/BaYZBxW?editors=1000" target="_blank"&gt;https://codepen.io/laurenb14/pen/BaYZBxW?editors=1000&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 19 May 2022 21:35:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/hover-on-popup-list/m-p/1175755#M77405</guid>
      <dc:creator>LaurenBoyd</dc:creator>
      <dc:date>2022-05-19T21:35:10Z</dc:date>
    </item>
    <item>
      <title>Re: hover on popup list</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/hover-on-popup-list/m-p/1175770#M77406</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/400217"&gt;@LaurenBoyd&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Great! Thank you very much!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 19 May 2022 22:08:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/hover-on-popup-list/m-p/1175770#M77406</guid>
      <dc:creator>rabeya08</dc:creator>
      <dc:date>2022-05-19T22:08:44Z</dc:date>
    </item>
  </channel>
</rss>

