<?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 Render nested content in widget view in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/render-nested-content-in-widget-view/m-p/141997#M13223</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Using 4.X api and TypeScript to create a custom widget. I'm having trouble rendering nested lists.&amp;nbsp;My render method renders a list of layer groups, and lists of layers within each group:&lt;/P&gt;&lt;DIV style="color: #d4d4d4; background-color: #1e1e1e; font-weight: normal; font-size: 14px;"&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #dcdcaa;"&gt;render&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;()&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;const&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #4fc1ff;"&gt;groupList&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;viewModel&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerGroups&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #dcdcaa;"&gt;map&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;((&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerGroup&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #4ec9b0;"&gt;LayerGroup&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;i&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;=&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;div&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;key&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;i&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;data-layer&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerGroup&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;onclick&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{this&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #dcdcaa;"&gt;_expand&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;id&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerGroup&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;group&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerGroup&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;group&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&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;&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;div&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;id&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerGroup&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;group&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;+&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #ce9178;"&gt;"_container"&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;class&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #4fc1ff;"&gt;CSS&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerGroup&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;+&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #ce9178;"&gt;'&amp;nbsp;'&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;+&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #4fc1ff;"&gt;CSS&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerGroup__hidden&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&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;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerGroup&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layers&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #dcdcaa;"&gt;map&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layer&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;=&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;div&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;data-layer&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layer&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;class&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layer&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;status&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;===&lt;/SPAN&gt;&lt;SPAN style="color: #ce9178;"&gt;"active"&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;?&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #4fc1ff;"&gt;CSS&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerActive&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #4fc1ff;"&gt;CSS&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerInactive&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;onclick&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{this&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #dcdcaa;"&gt;_toggle&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layer&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;name&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;div&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&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;&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;div&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;div&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #c586c0;"&gt;return&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;(&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;div&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #4fc1ff;"&gt;groupList&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;div&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem I have is that this renders the layer containers as children of the group element. Because of this, any time a click event happens on a layer (to call _toggle), an event happens on the group (inadvertently calling _expand), since the layer is within the group. How can I add elements to my VDOM so that they are appended, rather than added as children?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In other words, with nested lists like:&lt;/P&gt;&lt;P&gt;groups = [ { name: group1, layers: [layer1, layer2, layer3] } { name: group2, layers: [layer4, layer5] } ... ],&lt;BR /&gt;how can I get a structure like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;div id='group'&amp;gt;{group name}&amp;lt;/div&amp;gt;&lt;BR /&gt;&amp;lt;div id='container'&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;div&amp;gt; Layer Item &amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;BR /&gt;&amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;instead of what I'm currently getting:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;div id='group'&amp;gt; {group name}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div id='container'&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;gt; Layer Item &amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;/div&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 10 Aug 2020 17:33:06 GMT</pubDate>
    <dc:creator>BenRomlein</dc:creator>
    <dc:date>2020-08-10T17:33:06Z</dc:date>
    <item>
      <title>Render nested content in widget view</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/render-nested-content-in-widget-view/m-p/141997#M13223</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Using 4.X api and TypeScript to create a custom widget. I'm having trouble rendering nested lists.&amp;nbsp;My render method renders a list of layer groups, and lists of layers within each group:&lt;/P&gt;&lt;DIV style="color: #d4d4d4; background-color: #1e1e1e; font-weight: normal; font-size: 14px;"&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #dcdcaa;"&gt;render&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;()&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;const&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #4fc1ff;"&gt;groupList&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;viewModel&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerGroups&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #dcdcaa;"&gt;map&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;((&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerGroup&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #4ec9b0;"&gt;LayerGroup&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;i&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;=&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;div&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;key&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;i&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;data-layer&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerGroup&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;onclick&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{this&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #dcdcaa;"&gt;_expand&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;id&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerGroup&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;group&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerGroup&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;group&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&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;&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;div&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;id&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerGroup&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;group&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;+&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #ce9178;"&gt;"_container"&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;class&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #4fc1ff;"&gt;CSS&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerGroup&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;+&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #ce9178;"&gt;'&amp;nbsp;'&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;+&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #4fc1ff;"&gt;CSS&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerGroup__hidden&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&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;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerGroup&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layers&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #dcdcaa;"&gt;map&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layer&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;=&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;div&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;data-layer&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layer&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;class&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layer&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;status&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;===&lt;/SPAN&gt;&lt;SPAN style="color: #ce9178;"&gt;"active"&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;?&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #4fc1ff;"&gt;CSS&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerActive&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #4fc1ff;"&gt;CSS&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layerInactive&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;onclick&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{this&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #dcdcaa;"&gt;_toggle&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;layer&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #9cdcfe;"&gt;name&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;div&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&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;&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;div&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;div&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #c586c0;"&gt;return&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;(&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;div&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #4fc1ff;"&gt;groupList&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="color: #569cd6;"&gt;div&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #d4d4d4;"&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #d4d4d4;"&gt;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem I have is that this renders the layer containers as children of the group element. Because of this, any time a click event happens on a layer (to call _toggle), an event happens on the group (inadvertently calling _expand), since the layer is within the group. How can I add elements to my VDOM so that they are appended, rather than added as children?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In other words, with nested lists like:&lt;/P&gt;&lt;P&gt;groups = [ { name: group1, layers: [layer1, layer2, layer3] } { name: group2, layers: [layer4, layer5] } ... ],&lt;BR /&gt;how can I get a structure like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;div id='group'&amp;gt;{group name}&amp;lt;/div&amp;gt;&lt;BR /&gt;&amp;lt;div id='container'&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;div&amp;gt; Layer Item &amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;BR /&gt;&amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;instead of what I'm currently getting:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;div id='group'&amp;gt; {group name}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div id='container'&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;gt; Layer Item &amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;/div&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Aug 2020 17:33:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/render-nested-content-in-widget-view/m-p/141997#M13223</guid>
      <dc:creator>BenRomlein</dc:creator>
      <dc:date>2020-08-10T17:33:06Z</dc:date>
    </item>
    <item>
      <title>Re: Render nested content in widget view</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/render-nested-content-in-widget-view/m-p/141998#M13224</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I ended up breaking up my original render method into two functions, one to render the groups and one to render the layers. I added a renderable property (openGroup) to my viewModel, then changed the _expand method to set&amp;nbsp;that property to whichever group was clicked. Then I added a condition to the render method that will call whichever function it needs (render groups, or render layers) depending on the value of the openGroup property.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Aug 2020 16:31:11 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/render-nested-content-in-widget-view/m-p/141998#M13224</guid>
      <dc:creator>BenRomlein</dc:creator>
      <dc:date>2020-08-24T16:31:11Z</dc:date>
    </item>
  </channel>
</rss>

