<?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: How to show/hide spinner feature programmatically? in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-show-hide-spinner-feature-programmatically/m-p/1504930#M85029</link>
    <description>&lt;P&gt;The spinner you're talking about is a useful but undocumented widget with the path esri/widgets/Spinner.&amp;nbsp; I've updated the sample's code below to show how it can be used.&amp;nbsp; If you click somewhere on the map, the spinner will show.&amp;nbsp; If you then click somewhere else, it will be hidden.&amp;nbsp; You can repeat the process as many times as you like.&amp;nbsp; In short, I added or updated lines 35, 36, 48-64, and 125.&lt;/P&gt;&lt;P&gt;Since this is an undocumented feature, it may be removed or altered in a future release without notice, so using it is at your own risk.&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;html lang="en"&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset="utf-8" /&amp;gt;
    &amp;lt;meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" /&amp;gt;
    &amp;lt;title&amp;gt;Custom popup actions per feature attribute | Sample | ArcGIS Maps SDK for JavaScript 4.30&amp;lt;/title&amp;gt;

    &amp;lt;style&amp;gt;
      body {
        padding: 0;
        margin: 0;
        height: 100%;
        width: 100%;
        overflow: hidden;
      }

      #viewDiv {
        position: absolute;
        right: 0;
        left: 0;
        top: 0;
        bottom: 0;
      }
    &amp;lt;/style&amp;gt;

    &amp;lt;link rel="stylesheet" href="https://js.arcgis.com/4.30/esri/themes/light/main.css" /&amp;gt;
    &amp;lt;script src="https://js.arcgis.com/4.30/"&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;script&amp;gt;
      require([
        "esri/Map",
        "esri/views/MapView",
        "esri/layers/FeatureLayer",
        "esri/core/reactiveUtils",
        "esri/popup/content/TextContent",
        "esri/widgets/Spinner"
      ], (Map, MapView, FeatureLayer, reactiveUtils, TextContent, Spinner) =&amp;gt; {
        const map = new Map({
          basemap: "streets-navigation-vector"
        });

        const view = new MapView({
          container: "viewDiv",
          map: map,
          center: [-101.94981250000075, 41.20977753557709],
          zoom: 5
        });

        const spinner = new Spinner({view:view});
        view.ui.add(spinner, {key:"a-unique-key-you-make-up", position:"manual"});
        view.on("click", function(evt) {
          if (spinner.location)
            hideSpinner();
          else
            showSpinner(evt.mapPoint);
        });

        function hideSpinner() {
          spinner.location = null;
          spinner.hide();
        }

        function showSpinner(point) {
          spinner.show({location:point});
        }

        /********************
         * Add feature layer
         ********************/
        // sampling of breweries
        const featureLayer = new FeatureLayer({
          url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/OpenBeerDB/FeatureServer/0",
          popupTemplate: {
            title: "{name}",
            outFields: ["*"],
            lastEditInfoEnabled: false,
            fieldInfos: [
              {
                fieldName: "name"
              },
              {
                fieldName: "address1",
                label: "address"
              },
              {
                fieldName: "city"
              },
              {
                fieldName: "state"
              },
              {
                fieldName: "phone"
              },
              {
                fieldName: "website"
              }
            ],
            actions: [
              {
                id: "find-brewery",
                image: "https://developers.arcgis.com/javascript/latest/sample-code/popup-custom-action/live/beer.png",
                title: "Brewery Info"
              }
            ],
            content: formatContent
          }
        });

        // Use a function to format the content of the popup
        function formatContent(event) {
          const attributes = event.graphic.attributes;
          let text = "";
          // Only display the attributes if they exist
          text += attributes.website
            ? `Brewery: &amp;lt;a href="${attributes.website}"&amp;gt;${attributes.name}&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;`
            : `Brewery: ${attributes.name}&amp;lt;br&amp;gt;`;
          text += attributes.address1 ? `Address:&amp;lt;br&amp;gt;${attributes.address1}&amp;lt;br&amp;gt;` : `Located in: `;
          text += attributes.city &amp;amp;&amp;amp; attributes.state ? `${attributes.city},${attributes.state}&amp;lt;br&amp;gt;` : ``;
          text += attributes.phone !== null ? `Phone:${attributes.phone}` : ``;
          let textElement = new TextContent({
            text: text
          });
          return [textElement];
        }

//        map.add(featureLayer);

        view.when(() =&amp;gt; {
          // Watch for when features are selected
          reactiveUtils.watch(
            () =&amp;gt; view.popup.selectedFeature,
            (graphic) =&amp;gt; {
              if (graphic) {
                // Set the action's visible property to true if the 'website' field value is not null, otherwise set it to false
                const graphicTemplate = graphic.getEffectivePopupTemplate();
                graphicTemplate.actions.items[0].visible = graphic.attributes.website ? true : false;
              }
            }
          );
          // Watch for the trigger-action event on the popup
          reactiveUtils.on(
            () =&amp;gt; view.popup,
            "trigger-action",
            (event) =&amp;gt; {
              if (event.action.id === "find-brewery") {
                const attributes = view.popup.selectedFeature.attributes;
                // Get the 'website' field attribute
                const info = attributes.website;
                // Make sure the 'website' field value is not null
                if (info) {
                  // Open up a new browser using the URL value in the 'website' field
                  window.open(info.trim());
                }
              }
            }
          );
        });
      });
    &amp;lt;/script&amp;gt;
  &amp;lt;/head&amp;gt;

  &amp;lt;body class="light"&amp;gt;
    &amp;lt;div id="viewDiv" class="esri-widget"&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>Fri, 12 Jul 2024 17:18:24 GMT</pubDate>
    <dc:creator>JoelBennett</dc:creator>
    <dc:date>2024-07-12T17:18:24Z</dc:date>
    <item>
      <title>How to show/hide spinner feature programmatically?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-show-hide-spinner-feature-programmatically/m-p/1504721#M85019</link>
      <description>&lt;P&gt;Good afternoon,&lt;/P&gt;&lt;P&gt;Take a look at this sample:&amp;nbsp;&lt;A href="https://developers.arcgis.com/javascript/latest/sample-code/sandbox/?sample=popup-custom-action" target="_blank"&gt;https://developers.arcgis.com/javascript/latest/sample-code/sandbox/?sample=popup-custom-action&lt;/A&gt;&lt;/P&gt;&lt;P&gt;When you click o the map, spinner feature is shown before popup appears.&lt;/P&gt;&lt;P&gt;Is there a method to show or hide it programmatically when I need it? I am implementing my custom identify widget so ESRI's popup widget is out of question.&lt;/P&gt;&lt;P&gt;If no, what is the magic behind it? Is it just a simple feature with SVG symbol? Or is it drawn through custom WebGL layer? (something like that:&amp;nbsp;&lt;A href="https://developers.arcgis.com/javascript/latest/sample-code/custom-gl-visuals/" target="_blank"&gt;https://developers.arcgis.com/javascript/latest/sample-code/custom-gl-visuals/&lt;/A&gt;) ?&lt;/P&gt;</description>
      <pubDate>Fri, 12 Jul 2024 11:45:13 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-show-hide-spinner-feature-programmatically/m-p/1504721#M85019</guid>
      <dc:creator>D_R_</dc:creator>
      <dc:date>2024-07-12T11:45:13Z</dc:date>
    </item>
    <item>
      <title>Re: How to show/hide spinner feature programmatically?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-show-hide-spinner-feature-programmatically/m-p/1504745#M85020</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/11027"&gt;@D_R_&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;That loading spinner is actually part of the Sandbox code and that's the reason your not seeing anything in the sample code for it.&amp;nbsp; It's just a Calcite Loader component:&lt;/P&gt;&lt;P&gt;&lt;A href="https://developers.arcgis.com/calcite-design-system/components/loader/" target="_blank" rel="noopener"&gt;https://developers.arcgis.com/calcite-design-system/components/loader/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is a really basic usage example where it's shown by default and then hidden after a web map finishes loading.&lt;/P&gt;&lt;P&gt;&lt;A href="https://codepen.io/sagewall/pen/bGPdByW" target="_blank" rel="noopener"&gt;https://codepen.io/sagewall/pen/bGPdByW&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this helps&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":grinning_face:"&gt;😀&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Edit.&amp;nbsp; There are actually two loaders there one when the sample is loading and one for the pop-up.&amp;nbsp; The pop-up loading spinner is part of the API code, but works similarly but using a temporary spinning graphic at the clicked location while creating the popup.&lt;/P&gt;</description>
      <pubDate>Fri, 12 Jul 2024 13:27:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-show-hide-spinner-feature-programmatically/m-p/1504745#M85020</guid>
      <dc:creator>Sage_Wall</dc:creator>
      <dc:date>2024-07-12T13:27:56Z</dc:date>
    </item>
    <item>
      <title>Re: How to show/hide spinner feature programmatically?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-show-hide-spinner-feature-programmatically/m-p/1504752#M85021</link>
      <description>&lt;P&gt;Thank you for reply &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Ah, my bad: I guess I didn't explain myself properly. I was referring to small loading icon in "click point", not the one big initial loading icon, which is placed in the middle of the screen.&lt;/P&gt;</description>
      <pubDate>Fri, 12 Jul 2024 13:09:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-show-hide-spinner-feature-programmatically/m-p/1504752#M85021</guid>
      <dc:creator>D_R_</dc:creator>
      <dc:date>2024-07-12T13:09:20Z</dc:date>
    </item>
    <item>
      <title>Re: How to show/hide spinner feature programmatically?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-show-hide-spinner-feature-programmatically/m-p/1504930#M85029</link>
      <description>&lt;P&gt;The spinner you're talking about is a useful but undocumented widget with the path esri/widgets/Spinner.&amp;nbsp; I've updated the sample's code below to show how it can be used.&amp;nbsp; If you click somewhere on the map, the spinner will show.&amp;nbsp; If you then click somewhere else, it will be hidden.&amp;nbsp; You can repeat the process as many times as you like.&amp;nbsp; In short, I added or updated lines 35, 36, 48-64, and 125.&lt;/P&gt;&lt;P&gt;Since this is an undocumented feature, it may be removed or altered in a future release without notice, so using it is at your own risk.&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;html lang="en"&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset="utf-8" /&amp;gt;
    &amp;lt;meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" /&amp;gt;
    &amp;lt;title&amp;gt;Custom popup actions per feature attribute | Sample | ArcGIS Maps SDK for JavaScript 4.30&amp;lt;/title&amp;gt;

    &amp;lt;style&amp;gt;
      body {
        padding: 0;
        margin: 0;
        height: 100%;
        width: 100%;
        overflow: hidden;
      }

      #viewDiv {
        position: absolute;
        right: 0;
        left: 0;
        top: 0;
        bottom: 0;
      }
    &amp;lt;/style&amp;gt;

    &amp;lt;link rel="stylesheet" href="https://js.arcgis.com/4.30/esri/themes/light/main.css" /&amp;gt;
    &amp;lt;script src="https://js.arcgis.com/4.30/"&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;script&amp;gt;
      require([
        "esri/Map",
        "esri/views/MapView",
        "esri/layers/FeatureLayer",
        "esri/core/reactiveUtils",
        "esri/popup/content/TextContent",
        "esri/widgets/Spinner"
      ], (Map, MapView, FeatureLayer, reactiveUtils, TextContent, Spinner) =&amp;gt; {
        const map = new Map({
          basemap: "streets-navigation-vector"
        });

        const view = new MapView({
          container: "viewDiv",
          map: map,
          center: [-101.94981250000075, 41.20977753557709],
          zoom: 5
        });

        const spinner = new Spinner({view:view});
        view.ui.add(spinner, {key:"a-unique-key-you-make-up", position:"manual"});
        view.on("click", function(evt) {
          if (spinner.location)
            hideSpinner();
          else
            showSpinner(evt.mapPoint);
        });

        function hideSpinner() {
          spinner.location = null;
          spinner.hide();
        }

        function showSpinner(point) {
          spinner.show({location:point});
        }

        /********************
         * Add feature layer
         ********************/
        // sampling of breweries
        const featureLayer = new FeatureLayer({
          url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/OpenBeerDB/FeatureServer/0",
          popupTemplate: {
            title: "{name}",
            outFields: ["*"],
            lastEditInfoEnabled: false,
            fieldInfos: [
              {
                fieldName: "name"
              },
              {
                fieldName: "address1",
                label: "address"
              },
              {
                fieldName: "city"
              },
              {
                fieldName: "state"
              },
              {
                fieldName: "phone"
              },
              {
                fieldName: "website"
              }
            ],
            actions: [
              {
                id: "find-brewery",
                image: "https://developers.arcgis.com/javascript/latest/sample-code/popup-custom-action/live/beer.png",
                title: "Brewery Info"
              }
            ],
            content: formatContent
          }
        });

        // Use a function to format the content of the popup
        function formatContent(event) {
          const attributes = event.graphic.attributes;
          let text = "";
          // Only display the attributes if they exist
          text += attributes.website
            ? `Brewery: &amp;lt;a href="${attributes.website}"&amp;gt;${attributes.name}&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;`
            : `Brewery: ${attributes.name}&amp;lt;br&amp;gt;`;
          text += attributes.address1 ? `Address:&amp;lt;br&amp;gt;${attributes.address1}&amp;lt;br&amp;gt;` : `Located in: `;
          text += attributes.city &amp;amp;&amp;amp; attributes.state ? `${attributes.city},${attributes.state}&amp;lt;br&amp;gt;` : ``;
          text += attributes.phone !== null ? `Phone:${attributes.phone}` : ``;
          let textElement = new TextContent({
            text: text
          });
          return [textElement];
        }

//        map.add(featureLayer);

        view.when(() =&amp;gt; {
          // Watch for when features are selected
          reactiveUtils.watch(
            () =&amp;gt; view.popup.selectedFeature,
            (graphic) =&amp;gt; {
              if (graphic) {
                // Set the action's visible property to true if the 'website' field value is not null, otherwise set it to false
                const graphicTemplate = graphic.getEffectivePopupTemplate();
                graphicTemplate.actions.items[0].visible = graphic.attributes.website ? true : false;
              }
            }
          );
          // Watch for the trigger-action event on the popup
          reactiveUtils.on(
            () =&amp;gt; view.popup,
            "trigger-action",
            (event) =&amp;gt; {
              if (event.action.id === "find-brewery") {
                const attributes = view.popup.selectedFeature.attributes;
                // Get the 'website' field attribute
                const info = attributes.website;
                // Make sure the 'website' field value is not null
                if (info) {
                  // Open up a new browser using the URL value in the 'website' field
                  window.open(info.trim());
                }
              }
            }
          );
        });
      });
    &amp;lt;/script&amp;gt;
  &amp;lt;/head&amp;gt;

  &amp;lt;body class="light"&amp;gt;
    &amp;lt;div id="viewDiv" class="esri-widget"&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>Fri, 12 Jul 2024 17:18:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-show-hide-spinner-feature-programmatically/m-p/1504930#M85029</guid>
      <dc:creator>JoelBennett</dc:creator>
      <dc:date>2024-07-12T17:18:24Z</dc:date>
    </item>
    <item>
      <title>Re: How to show/hide spinner feature programmatically?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-show-hide-spinner-feature-programmatically/m-p/1666383#M87880</link>
      <description>&lt;P&gt;Not 100% sure, but this worked on SDK 4.33 but no longer appears to on 4.34. It doesn't error, it just doesn't show anymore. Was working great on 4.33 for me.&lt;/P&gt;</description>
      <pubDate>Mon, 17 Nov 2025 17:51:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-show-hide-spinner-feature-programmatically/m-p/1666383#M87880</guid>
      <dc:creator>mjperez-usgs</dc:creator>
      <dc:date>2025-11-17T17:51:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to show/hide spinner feature programmatically?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-show-hide-spinner-feature-programmatically/m-p/1670729#M87938</link>
      <description>&lt;P&gt;Here's the code updated for 4.34, which works.&amp;nbsp; The main difference was that Esri updated the sample to use "$arcgis.import" instead of "require", but everything else is largely the same.&amp;nbsp; For my part, added/updated lines are 21, 27, 41-57, and 119.&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;!doctype html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset="utf-8" /&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /&amp;gt;
    &amp;lt;title&amp;gt;Custom popup actions per feature attribute | Sample | ArcGIS Maps SDK for JavaScript&amp;lt;/title&amp;gt;

    &amp;lt;style&amp;gt;
      html,
      body,
      #viewDiv {
        height: 100%;
        margin: 0;
      }
    &amp;lt;/style&amp;gt;

    &amp;lt;link rel="stylesheet" href="https://js.arcgis.com/4.34/esri/themes/light/main.css" /&amp;gt;
    &amp;lt;script src="https://js.arcgis.com/4.34/"&amp;gt;&amp;lt;/script&amp;gt;

    &amp;lt;script type="module"&amp;gt;
      const [Map, MapView, FeatureLayer, reactiveUtils, TextContent, Spinner] = await $arcgis.import([
        "@arcgis/core/Map.js",
        "@arcgis/core/views/MapView.js",
        "@arcgis/core/layers/FeatureLayer.js",
        "@arcgis/core/core/reactiveUtils.js",
        "@arcgis/core/popup/content/TextContent.js",
        "@arcgis/core/widgets/Spinner.js"
      ]);

      const map = new Map({
        basemap: "streets-navigation-vector",
      });

      const view = new MapView({
        container: "viewDiv",
        map: map,
        center: [-101.94981250000075, 41.20977753557709],
        zoom: 5,
      });

      const spinner = new Spinner({view:view});
      view.ui.add(spinner, {key:"a-unique-key-you-make-up", position:"manual"});
      view.on("click", function(evt) {
        if (spinner.location)
          hideSpinner();
        else
          showSpinner(evt.mapPoint);
      });

      function hideSpinner() {
        spinner.location = null;
        spinner.hide();
      }

      function showSpinner(point) {
        spinner.show({location:point});
      }

      /********************
       * Add feature layer
       ********************/
      // sampling of breweries
      const featureLayer = new FeatureLayer({
        url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/OpenBeerDB/FeatureServer/0",
        popupTemplate: {
          title: "{name}",
          outFields: ["*"],
          lastEditInfoEnabled: false,
          fieldInfos: [
            {
              fieldName: "name",
            },
            {
              fieldName: "address1",
              label: "address",
            },
            {
              fieldName: "city",
            },
            {
              fieldName: "state",
            },
            {
              fieldName: "phone",
            },
            {
              fieldName: "website",
            },
          ],
          actions: [
            {
              id: "find-brewery",
              image: "https://developers.arcgis.com/javascript/latest/sample-code/popup-custom-action/live/beer.png",
              title: "Brewery Info",
            },
          ],
          content: formatContent,
        },
      });

      // Use a function to format the content of the popup
      function formatContent(event) {
        const attributes = event.graphic.attributes;
        let text = "";
        // Only display the attributes if they exist
        text += attributes.website
          ? `Brewery: &amp;lt;a href="${attributes.website}"&amp;gt;${attributes.name}&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;`
          : `Brewery: ${attributes.name}&amp;lt;br&amp;gt;`;
        text += attributes.address1 ? `Address:&amp;lt;br&amp;gt;${attributes.address1}&amp;lt;br&amp;gt;` : `Located in: `;
        text +=
          attributes.city &amp;amp;&amp;amp; attributes.state ? `${attributes.city},${attributes.state}&amp;lt;br&amp;gt;` : ``;
        text += attributes.phone !== null ? `Phone:${attributes.phone}` : ``;
        let textElement = new TextContent({
          text: text,
        });
        return [textElement];
      }

//      map.add(featureLayer);

      view.when(() =&amp;gt; {
        // Watch for when features are selected
        reactiveUtils.watch(
          () =&amp;gt; view.popup.selectedFeature,
          (graphic) =&amp;gt; {
            if (graphic) {
              // Set the action's visible property to true if the 'website' field value is not null, otherwise set it to false
              const graphicTemplate = graphic.getEffectivePopupTemplate();
              graphicTemplate.actions.items[0].visible = graphic.attributes.website ? true : false;
            }
          },
        );
        // Watch for the trigger-action event on the popup
        reactiveUtils.on(
          () =&amp;gt; view.popup,
          "trigger-action",
          (event) =&amp;gt; {
            if (event.action.id === "find-brewery") {
              const attributes = view.popup.selectedFeature.attributes;
              // Get the 'website' field attribute
              const info = attributes.website;
              // Make sure the 'website' field value is not null
              if (info) {
                // Open up a new browser using the URL value in the 'website' field
                window.open(info.trim());
              }
            }
          },
        );
      });
    &amp;lt;/script&amp;gt;
  &amp;lt;/head&amp;gt;

  &amp;lt;body class="light"&amp;gt;
    &amp;lt;div id="viewDiv" class="esri-widget"&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;&lt;P&gt;Reminder: Spinner is an undocumented widget, so use at your own risk.&lt;/P&gt;</description>
      <pubDate>Thu, 04 Dec 2025 23:10:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-to-show-hide-spinner-feature-programmatically/m-p/1670729#M87938</guid>
      <dc:creator>JoelBennett</dc:creator>
      <dc:date>2025-12-04T23:10:37Z</dc:date>
    </item>
  </channel>
</rss>

