<?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 Custom arcade popup fine in Map Viewer but buggy in Experience Builder in ArcGIS Experience Builder Questions</title>
    <link>https://community.esri.com/t5/arcgis-experience-builder-questions/custom-arcade-popup-fine-in-map-viewer-but-buggy/m-p/1715410#M23914</link>
    <description>&lt;P&gt;Experience Builder bug? Arcade expression selects 8 fields, creates new aliases, and places them in the order I want. Works perfectly in Map Viewer. However, if I click on a feature in Experience Builder, the pop-up is nearly empty except for the field name aliases.&lt;/P&gt;&lt;P&gt;Just for a test, I inserted the "Feature Info" widget and it displays all the information perfectly while at the same time the pop-up does not. Please see screenshot.&lt;/P&gt;&lt;P&gt;Thanks for any info!&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;Used this code originally in Map Viewer, it works fine. I also used the edited code below this and it works fine too in Map Viewer.

Pop-up Code #1

// 1. List your fields in the exact order you want them to display
var orderedFields = [
    { name: "activity", alias: "Activity" },
    { name: "init_type",  alias: "Slide Type" },
    { name: "confidence",  alias: "Interpretation Confidence" },
    { name: "thickness",  alias: "Thickness" },
    { name: "dir_mvmt",  alias: "Direction of Movement" },
    { name: "map_year",  alias: "Year Mapped" },
    { name: "citable_product",  alias: "Citable Product" },
    { name: "citable_product_url",  alias: "Citable Product Link" }
];

// 2. Initialize the arrays required for the Fields Element
var fieldInfos = [];
var attributeValues = {};

// 3. Loop through the array in order
for (var i in orderedFields) {
    var field = orderedFields[i];
    var fName = Text(field.name);
    var customLabel = field.alias;
    
    // Grab the full value safely
    var fieldValue = $feature[fName]; 
    
    // Push the field configuration in the current loop order
    Push(fieldInfos, {
        fieldName: fName,
        label: customLabel
    });
    
    // Pass the actual feature data to the popup
    attributeValues[fName] = fieldValue;
}

// 4. Return the structured dictionary to the popup
return {
    type: 'fields',
    fieldInfos: fieldInfos,
    attributes: attributeValues
};


Pop-up Code #2 (like the above script, this expression also works fine in Map Viewer but not in Experience Builder Pop-ups)

// 1. List your fields in the exact order you want them to display
var orderedFields = [
    { name: "activity", alias: "Activity" },
    { name: "init_type", alias: "Slide Type" },
    { name: "confidence", alias: "Interpretation Confidence" },
    { name: "thickness", alias: "Thickness" },
    { name: "dir_mvmt", alias: "Direction of Movement" },
    { name: "map_year", alias: "Year Mapped" },
    { name: "citable_product", alias: "Citable Product" },
    { name: "citable_product_url", alias: "Citable Product Link" }
];

// 2. Initialize the arrays required for the Fields Element
var fieldInfos = [];
var attributeValues = {};

// 3. Loop through the array in order using for...of to access objects properly
for (var field in orderedFields) {
    var fObj = orderedFields[field];
    var fName = fObj.name;
    var customLabel = fObj.alias;
    
    // Grab the full value safely
    var fieldValue = $feature[fName]; 
    
    // Push the field configuration in the current loop order
    Push(fieldInfos, { fieldName: fName, label: customLabel });
    
    // Pass the actual feature data to the popup
    attributeValues[fName] = fieldValue;
}

// 4. Return the structured dictionary to the popup
return {
    type: "fields",
    fieldInfos: fieldInfos,
    attributes: attributeValues
};&lt;/LI-CODE&gt;&lt;P&gt;-Dickie&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Arcade fine in widget but not in pop-up. EB bug?" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/155617i3649342D5D0BECA8/image-size/large?v=v2&amp;amp;px=999" role="button" title="Screenshot 2026-07-20 115507.png" alt="Arcade fine in widget but not in pop-up. EB bug?" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Arcade fine in widget but not in pop-up. EB bug?&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 20 Jul 2026 20:59:12 GMT</pubDate>
    <dc:creator>DickieRigdon</dc:creator>
    <dc:date>2026-07-20T20:59:12Z</dc:date>
    <item>
      <title>Custom arcade popup fine in Map Viewer but buggy in Experience Builder</title>
      <link>https://community.esri.com/t5/arcgis-experience-builder-questions/custom-arcade-popup-fine-in-map-viewer-but-buggy/m-p/1715410#M23914</link>
      <description>&lt;P&gt;Experience Builder bug? Arcade expression selects 8 fields, creates new aliases, and places them in the order I want. Works perfectly in Map Viewer. However, if I click on a feature in Experience Builder, the pop-up is nearly empty except for the field name aliases.&lt;/P&gt;&lt;P&gt;Just for a test, I inserted the "Feature Info" widget and it displays all the information perfectly while at the same time the pop-up does not. Please see screenshot.&lt;/P&gt;&lt;P&gt;Thanks for any info!&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;Used this code originally in Map Viewer, it works fine. I also used the edited code below this and it works fine too in Map Viewer.

Pop-up Code #1

// 1. List your fields in the exact order you want them to display
var orderedFields = [
    { name: "activity", alias: "Activity" },
    { name: "init_type",  alias: "Slide Type" },
    { name: "confidence",  alias: "Interpretation Confidence" },
    { name: "thickness",  alias: "Thickness" },
    { name: "dir_mvmt",  alias: "Direction of Movement" },
    { name: "map_year",  alias: "Year Mapped" },
    { name: "citable_product",  alias: "Citable Product" },
    { name: "citable_product_url",  alias: "Citable Product Link" }
];

// 2. Initialize the arrays required for the Fields Element
var fieldInfos = [];
var attributeValues = {};

// 3. Loop through the array in order
for (var i in orderedFields) {
    var field = orderedFields[i];
    var fName = Text(field.name);
    var customLabel = field.alias;
    
    // Grab the full value safely
    var fieldValue = $feature[fName]; 
    
    // Push the field configuration in the current loop order
    Push(fieldInfos, {
        fieldName: fName,
        label: customLabel
    });
    
    // Pass the actual feature data to the popup
    attributeValues[fName] = fieldValue;
}

// 4. Return the structured dictionary to the popup
return {
    type: 'fields',
    fieldInfos: fieldInfos,
    attributes: attributeValues
};


Pop-up Code #2 (like the above script, this expression also works fine in Map Viewer but not in Experience Builder Pop-ups)

// 1. List your fields in the exact order you want them to display
var orderedFields = [
    { name: "activity", alias: "Activity" },
    { name: "init_type", alias: "Slide Type" },
    { name: "confidence", alias: "Interpretation Confidence" },
    { name: "thickness", alias: "Thickness" },
    { name: "dir_mvmt", alias: "Direction of Movement" },
    { name: "map_year", alias: "Year Mapped" },
    { name: "citable_product", alias: "Citable Product" },
    { name: "citable_product_url", alias: "Citable Product Link" }
];

// 2. Initialize the arrays required for the Fields Element
var fieldInfos = [];
var attributeValues = {};

// 3. Loop through the array in order using for...of to access objects properly
for (var field in orderedFields) {
    var fObj = orderedFields[field];
    var fName = fObj.name;
    var customLabel = fObj.alias;
    
    // Grab the full value safely
    var fieldValue = $feature[fName]; 
    
    // Push the field configuration in the current loop order
    Push(fieldInfos, { fieldName: fName, label: customLabel });
    
    // Pass the actual feature data to the popup
    attributeValues[fName] = fieldValue;
}

// 4. Return the structured dictionary to the popup
return {
    type: "fields",
    fieldInfos: fieldInfos,
    attributes: attributeValues
};&lt;/LI-CODE&gt;&lt;P&gt;-Dickie&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Arcade fine in widget but not in pop-up. EB bug?" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/155617i3649342D5D0BECA8/image-size/large?v=v2&amp;amp;px=999" role="button" title="Screenshot 2026-07-20 115507.png" alt="Arcade fine in widget but not in pop-up. EB bug?" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Arcade fine in widget but not in pop-up. EB bug?&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 20 Jul 2026 20:59:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-experience-builder-questions/custom-arcade-popup-fine-in-map-viewer-but-buggy/m-p/1715410#M23914</guid>
      <dc:creator>DickieRigdon</dc:creator>
      <dc:date>2026-07-20T20:59:12Z</dc:date>
    </item>
    <item>
      <title>Re: Custom arcade popup fine in Map Viewer but buggy in Experience Builder</title>
      <link>https://community.esri.com/t5/arcgis-experience-builder-questions/custom-arcade-popup-fine-in-map-viewer-but-buggy/m-p/1715464#M23925</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/489300"&gt;@DickieRigdon&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;Could you help share a web map?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Ke&lt;/P&gt;</description>
      <pubDate>Tue, 21 Jul 2026 01:41:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-experience-builder-questions/custom-arcade-popup-fine-in-map-viewer-but-buggy/m-p/1715464#M23925</guid>
      <dc:creator>Ke_Xu</dc:creator>
      <dc:date>2026-07-21T01:41:45Z</dc:date>
    </item>
    <item>
      <title>Re: Custom arcade popup fine in Map Viewer but buggy in Experience Builder</title>
      <link>https://community.esri.com/t5/arcgis-experience-builder-questions/custom-arcade-popup-fine-in-map-viewer-but-buggy/m-p/1715603#M23940</link>
      <description>&lt;P&gt;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/766971"&gt;@Ke_Xu&lt;/a&gt;&amp;nbsp;Hi Ke, yes, can you send me a direct message? Thanks&lt;/P&gt;</description>
      <pubDate>Tue, 21 Jul 2026 17:05:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-experience-builder-questions/custom-arcade-popup-fine-in-map-viewer-but-buggy/m-p/1715603#M23940</guid>
      <dc:creator>DickieRigdon</dc:creator>
      <dc:date>2026-07-21T17:05:46Z</dc:date>
    </item>
  </channel>
</rss>

