<?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 Customize popup using Arcade to loop through a text column in Developers Questions</title>
    <link>https://community.esri.com/t5/developers-questions/customize-popup-using-arcade-to-loop-through-a/m-p/115998#M733</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I am looking for help on using Arcade to display complicated information in a popup in ArcGIS Online. I have complete control over my data and can modify it to work within the limitations of Arcade.&lt;/P&gt;&lt;P&gt;Currently Arcade can't access the information of related tables, so I got rid of the related tables and put all the information in one column in the main table with all the related information within the one column. Currently I am using JSON format to handles the relationships, but I can change this if anyone has other suggestions. Example JSON below (though it is minimized to 1 line in the table).&lt;/P&gt;&lt;P&gt;Can Arcade loop through this? I have tried and so far I just get a loop through each letter. I can reformat the string any way to make it more easily parsed.&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;[{&lt;BR /&gt; "Type": "Complex", &lt;BR /&gt; "OBJECTID": "000000",&lt;BR /&gt; "Relationship1": [{&lt;BR /&gt; "TYPE": "Type1",&lt;BR /&gt; "OBJECTID": "111111"&lt;BR /&gt; },{&lt;BR /&gt; "TYPE": "Type2",&lt;BR /&gt; "OBJECTID": "222222"&lt;BR /&gt; }],&lt;BR /&gt; "Relationship2": [{&lt;BR /&gt; "TYPE": "Type1",&lt;BR /&gt; "OBJECTID": "333333"&lt;BR /&gt; },{&lt;BR /&gt; "TYPE": "Type2",&lt;BR /&gt; "OBJECTID": "444444"&lt;BR /&gt; }],&lt;BR /&gt; "Relationship3": [{&lt;BR /&gt; "TYPE": "Type1",&lt;BR /&gt; "OBJECTID": "555555"&lt;BR /&gt; },{&lt;BR /&gt; "TYPE": "Type2",&lt;BR /&gt; "OBJECTID": "666666"&lt;BR /&gt; }]&lt;BR /&gt;}]&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 28 Sep 2017 14:58:44 GMT</pubDate>
    <dc:creator>RowenaTansley1</dc:creator>
    <dc:date>2017-09-28T14:58:44Z</dc:date>
    <item>
      <title>Customize popup using Arcade to loop through a text column</title>
      <link>https://community.esri.com/t5/developers-questions/customize-popup-using-arcade-to-loop-through-a/m-p/115998#M733</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I am looking for help on using Arcade to display complicated information in a popup in ArcGIS Online. I have complete control over my data and can modify it to work within the limitations of Arcade.&lt;/P&gt;&lt;P&gt;Currently Arcade can't access the information of related tables, so I got rid of the related tables and put all the information in one column in the main table with all the related information within the one column. Currently I am using JSON format to handles the relationships, but I can change this if anyone has other suggestions. Example JSON below (though it is minimized to 1 line in the table).&lt;/P&gt;&lt;P&gt;Can Arcade loop through this? I have tried and so far I just get a loop through each letter. I can reformat the string any way to make it more easily parsed.&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;[{&lt;BR /&gt; "Type": "Complex", &lt;BR /&gt; "OBJECTID": "000000",&lt;BR /&gt; "Relationship1": [{&lt;BR /&gt; "TYPE": "Type1",&lt;BR /&gt; "OBJECTID": "111111"&lt;BR /&gt; },{&lt;BR /&gt; "TYPE": "Type2",&lt;BR /&gt; "OBJECTID": "222222"&lt;BR /&gt; }],&lt;BR /&gt; "Relationship2": [{&lt;BR /&gt; "TYPE": "Type1",&lt;BR /&gt; "OBJECTID": "333333"&lt;BR /&gt; },{&lt;BR /&gt; "TYPE": "Type2",&lt;BR /&gt; "OBJECTID": "444444"&lt;BR /&gt; }],&lt;BR /&gt; "Relationship3": [{&lt;BR /&gt; "TYPE": "Type1",&lt;BR /&gt; "OBJECTID": "555555"&lt;BR /&gt; },{&lt;BR /&gt; "TYPE": "Type2",&lt;BR /&gt; "OBJECTID": "666666"&lt;BR /&gt; }]&lt;BR /&gt;}]&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Sep 2017 14:58:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/developers-questions/customize-popup-using-arcade-to-loop-through-a/m-p/115998#M733</guid>
      <dc:creator>RowenaTansley1</dc:creator>
      <dc:date>2017-09-28T14:58:44Z</dc:date>
    </item>
    <item>
      <title>Re: Customize popup using Arcade to loop through a text column</title>
      <link>https://community.esri.com/t5/developers-questions/customize-popup-using-arcade-to-loop-through-a/m-p/115999#M734</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;A bit late, but maybe it helps a bit.&amp;nbsp;To present the data in a structured way in a pop-up based on the text (or json) you have now, is not possible. This is not really due to limitations of Arcade, but more due to the support for HTML returned by the Arcade expression.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You could construct in a single Arcade expression a&amp;nbsp;HTML table and return it, but it will be seen as plain text by the pop-up and show as such. See the expression below:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; txt &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'[{"Type": "Complex", "OBJECTID": "000000","Relationship1": [{"TYPE": "Type1","OBJECTID": "111111"},{"TYPE": "Type2","OBJECTID": "222222"}],"Relationship2": [{"TYPE": "Type1","OBJECTID": "333333"},{"TYPE": "Type2","OBJECTID": "444444"}],"Relationship3": [{"TYPE": "Type1","OBJECTID": "555555"},{"TYPE": "Type2","OBJECTID": "666666"}]}]'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

txt &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;Replace&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;txt&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;' '&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;''&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
txt &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;Replace&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;txt&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'['&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;''&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
txt &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;Replace&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;txt&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'{'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;''&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
txt &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;Replace&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;txt&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;']'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;''&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
txt &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;Replace&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;txt&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'}'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;''&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
txt &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;Replace&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;txt&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'"'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;''&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; test1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;Split&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;txt&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;','&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; test2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"&amp;lt;table&amp;gt;"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; i &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; test1&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; row &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; test1&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;i&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; lst_row &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;Split&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;row&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;":"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; test2 &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"&amp;lt;tr&amp;gt;"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;Console&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;row&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; j &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; lst_row&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; test2 &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"&amp;lt;td&amp;gt;"&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; lst_row&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;j&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"&amp;lt;/td&amp;gt;"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; test2 &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"&amp;lt;/tr&amp;gt;"&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
test2 &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"&amp;lt;/table&amp;gt;"&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; test2&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Which will produce something like this:&lt;/P&gt;&lt;P&gt;&lt;IMG class="image-2 jive-image" src="https://community.esri.com/legacyfs/online/384914_pastedImage_2.png" style="width: auto; height: auto;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and not something like this (which still does not represent something very readable):&lt;/P&gt;&lt;P&gt;&lt;IMG class="image-1 jive-image" src="https://community.esri.com/legacyfs/online/384883_pastedImage_1.png" style="width: auto; height: auto;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To achieve what you are after, you would probably construct the html in the pop-up and fill each field with an expression that would extract the relevant value from the data you have. Not a very elegant solution...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But you can get interesting results as I have shown here:&amp;nbsp;&lt;A href="https://community.esri.com/docs/DOC-10692-create-pop-ups-in-arcgis-online-with-conditional-images-using-arcade" target="_blank"&gt;https://community.esri.com/docs/DOC-10692-create-pop-ups-in-arcgis-online-with-conditional-images-using-arcade&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 06:50:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/developers-questions/customize-popup-using-arcade-to-loop-through-a/m-p/115999#M734</guid>
      <dc:creator>XanderBakker</dc:creator>
      <dc:date>2021-12-11T06:50:19Z</dc:date>
    </item>
  </channel>
</rss>

