<?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: Layer List - how to display only root layer group (first level of a tree) in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/layer-list-how-to-display-only-root-layer-group/m-p/368874#M34215</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Michal,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Sure you can do that through CSS manipulation:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta http-equiv="Content-Type" content="text/html; 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;Layer List Dijit&amp;lt;/title&amp;gt;
&lt;SPAN&gt;&amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fjs.arcgis.com%2F3.16%2Fdijit%2Fthemes%2Fclaro%2Fclaro.css" target="_blank"&gt;https://js.arcgis.com/3.16/dijit/themes/claro/claro.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;
&lt;SPAN&gt;&amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fjs.arcgis.com%2F3.16%2Fesri%2Fcss%2Fesri.css" target="_blank"&gt;https://js.arcgis.com/3.16/esri/css/esri.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;

&amp;lt;style&amp;gt;
html, body, .container, #map {
&amp;nbsp;&amp;nbsp;&amp;nbsp; height:100%;
&amp;nbsp;&amp;nbsp;&amp;nbsp; width:100%;
&amp;nbsp;&amp;nbsp;&amp;nbsp; margin:0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; padding:0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; margin:0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family: "Open Sans";
}
#map {
&amp;nbsp;&amp;nbsp;&amp;nbsp; padding:0;
}
#layerListPane{
&amp;nbsp;&amp;nbsp;&amp;nbsp; width:25%;
}
.esriLayer{
&amp;nbsp; background-color: #fff;
}
.esriLayerList .esriList{
&amp;nbsp;&amp;nbsp;&amp;nbsp; border-top:none;
}
.esriLayerList .esriTitle {
&amp;nbsp; background-color: #fff;
&amp;nbsp; border-bottom:none;
}
.esriLayerList .esriList ul{
&amp;nbsp; background-color: #fff;
}
&amp;lt;/style&amp;gt;
&amp;lt;script&amp;gt;var dojoConfig = { parseOnLoad: true };&amp;lt;/script&amp;gt;
&lt;SPAN&gt;&amp;lt;script src="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fjs.arcgis.com%2F3.16%2F" target="_blank"&gt;https://js.arcgis.com/3.16/&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&amp;lt;/script&amp;gt;&lt;/SPAN&gt;
&amp;lt;script&amp;gt;
require([
&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/map",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/layers/ArcGISDynamicMapServiceLayer",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/dijit/LayerList",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/query",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/dom-class",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "dijit/layout/BorderContainer",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "dijit/layout/ContentPane",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/domReady!"
], function(
&amp;nbsp;&amp;nbsp;&amp;nbsp; Map,
&amp;nbsp;&amp;nbsp;&amp;nbsp; ArcGISDynamicMapServiceLayer,
&amp;nbsp;&amp;nbsp;&amp;nbsp; LayerList,
&amp;nbsp;&amp;nbsp;&amp;nbsp; query,
&amp;nbsp;&amp;nbsp;&amp;nbsp; domClass
) {
&amp;nbsp; var map = new Map("map", {
&amp;nbsp;&amp;nbsp;&amp;nbsp; basemap: "topo",
&amp;nbsp;&amp;nbsp;&amp;nbsp; center: [-123, 47],
&amp;nbsp;&amp;nbsp;&amp;nbsp; zoom: 8,
&amp;nbsp;&amp;nbsp;&amp;nbsp; sliderStyle: "small"
&amp;nbsp; });

&lt;SPAN&gt;&amp;nbsp; var atlasLayer = new ArcGISDynamicMapServiceLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fsampleserver6.arcgisonline.com%2Farcgis%2Frest%2Fservices%2FCensus%2FMapServer" target="_blank"&gt;http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer&lt;/A&gt;&lt;SPAN&gt;", {&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; "id": "atlasLayer",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "showAttribution": false
&amp;nbsp; });

&lt;SPAN&gt;&amp;nbsp; var recreationLayer = new ArcGISDynamicMapServiceLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fsampleserver6.arcgisonline.com%2Farcgis%2Frest%2Fservices%2FRecreation%2FMapServer" target="_blank"&gt;http://sampleserver6.arcgisonline.com/arcgis/rest/services/Recreation/MapServer&lt;/A&gt;&lt;SPAN&gt;", {&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; "id": "recreationLayer",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "showAttribution": false
&amp;nbsp; });

&lt;SPAN&gt;&amp;nbsp; var waterNetLayer = new ArcGISDynamicMapServiceLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fsampleserver6.arcgisonline.com%2Farcgis%2Frest%2Fservices%2FWater_Network%2FMapServer" target="_blank"&gt;http://sampleserver6.arcgisonline.com/arcgis/rest/services/Water_Network/MapServer&lt;/A&gt;&lt;SPAN&gt;", {&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; "id": "waterNetworkLayer",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "showAttribution": false
&amp;nbsp; })

&amp;nbsp; map.addLayers([atlasLayer, recreationLayer, waterNetLayer]);

&amp;nbsp; var llWidget = new LayerList({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map: map,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layers: [{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layer: atlasLayer,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id: "Atlas layers",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subLayers: true
&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; layer: recreationLayer,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id: "Recreation layers",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subLayers: true
&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; layer: waterNetLayer,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id: "Water Network layers",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subLayers: true
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }], showSubLayers: true, showOpacitySlider: true
&amp;nbsp; },"layerList");
&amp;nbsp; llWidget.startup();

&amp;nbsp; llWidget.on('load', function(){
&amp;nbsp;&amp;nbsp;&amp;nbsp; expandLayerList();
&amp;nbsp; });

&amp;nbsp; function expandLayerList() {
&amp;nbsp;&amp;nbsp;&amp;nbsp; //This first part will expand the main layers.
&amp;nbsp;&amp;nbsp;&amp;nbsp; query('.esriLayer').forEach(function(node){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; domClass.add(node, "esriListExpand");
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp; query('.esriToggleButton').forEach(function(node){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; domClass.replace(node, "esri-icon-down", "esri-icon-right");
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp; //This part will collapse the sublayer lists
&amp;nbsp;&amp;nbsp;&amp;nbsp; query('.esriSubListLayer.esriHasSubList.esriSubListExpand.esriListVisible').forEach(function(node){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.info(node);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; domClass.remove(node, "esriSubListExpand");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; domClass.remove(node, "esriListVisible");
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp; }

});
&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body class="claro"&amp;gt;
&amp;lt;div class="container" data-dojo-type="dijit/layout/BorderContainer"
data-dojo-props="design:'headline',gutters:false"&amp;gt;
&amp;lt;div id="layerListPane" data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'right'"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div id="layerList"&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div id="map" data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'center'"&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 17:05:55 GMT</pubDate>
    <dc:creator>RobertScheitlin__GISP</dc:creator>
    <dc:date>2021-12-11T17:05:55Z</dc:date>
    <item>
      <title>Layer List - how to display only root layer group (first level of a tree)</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/layer-list-how-to-display-only-root-layer-group/m-p/368872#M34213</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I want to add a service with large number of layers to the LayerList widget.&lt;/P&gt;&lt;P&gt;By default all layers are enabled and the whole tree is expanded:&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="image-1 jive-image" height="195" src="https://community.esri.com/legacyfs/online/210288_pastedImage_0.png" style="height: 195px; width: 224.355px;" width="224" /&gt;&lt;/P&gt;&lt;P&gt;How to restrain expanding to the first level of the tree?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alternatively, how to disable the fist level what causes branches to colapse?&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="image-2 jive-image" height="64" src="https://community.esri.com/legacyfs/online/210323_pastedImage_2.png" style="width: 144px; height: 64.2581px;" width="144" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Jul 2016 13:42:51 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/layer-list-how-to-display-only-root-layer-group/m-p/368872#M34213</guid>
      <dc:creator>MichalGasiorowski</dc:creator>
      <dc:date>2016-07-01T13:42:51Z</dc:date>
    </item>
    <item>
      <title>Re: Layer List - how to display only root layer group (first level of a tree)</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/layer-list-how-to-display-only-root-layer-group/m-p/368873#M34214</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Alternatively, how to disable the fist level what causes branches to colapse?&lt;P&gt;&lt;IMG alt="" class="image-2 jive-image" height="64" src="https://community.esri.com/legacyfs/online/210547_pastedImage_2.png" style="width: 144px; height: 64.2581px;" width="144" /&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;You can make the layer off by default by setting the &lt;A href="https://developers.arcgis.com/javascript/3/jsapi/layer-amd.html#visible"&gt;visible&lt;/A&gt; property in the layer's constructor to false.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want the user to NEVER be able to expand the list, you could probably accomplish this with CSS.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jul 2016 17:00:48 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/layer-list-how-to-display-only-root-layer-group/m-p/368873#M34214</guid>
      <dc:creator>JeffJacobson</dc:creator>
      <dc:date>2016-07-05T17:00:48Z</dc:date>
    </item>
    <item>
      <title>Re: Layer List - how to display only root layer group (first level of a tree)</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/layer-list-how-to-display-only-root-layer-group/m-p/368874#M34215</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Michal,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Sure you can do that through CSS manipulation:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta http-equiv="Content-Type" content="text/html; 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;Layer List Dijit&amp;lt;/title&amp;gt;
&lt;SPAN&gt;&amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fjs.arcgis.com%2F3.16%2Fdijit%2Fthemes%2Fclaro%2Fclaro.css" target="_blank"&gt;https://js.arcgis.com/3.16/dijit/themes/claro/claro.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;
&lt;SPAN&gt;&amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fjs.arcgis.com%2F3.16%2Fesri%2Fcss%2Fesri.css" target="_blank"&gt;https://js.arcgis.com/3.16/esri/css/esri.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;

&amp;lt;style&amp;gt;
html, body, .container, #map {
&amp;nbsp;&amp;nbsp;&amp;nbsp; height:100%;
&amp;nbsp;&amp;nbsp;&amp;nbsp; width:100%;
&amp;nbsp;&amp;nbsp;&amp;nbsp; margin:0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; padding:0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; margin:0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family: "Open Sans";
}
#map {
&amp;nbsp;&amp;nbsp;&amp;nbsp; padding:0;
}
#layerListPane{
&amp;nbsp;&amp;nbsp;&amp;nbsp; width:25%;
}
.esriLayer{
&amp;nbsp; background-color: #fff;
}
.esriLayerList .esriList{
&amp;nbsp;&amp;nbsp;&amp;nbsp; border-top:none;
}
.esriLayerList .esriTitle {
&amp;nbsp; background-color: #fff;
&amp;nbsp; border-bottom:none;
}
.esriLayerList .esriList ul{
&amp;nbsp; background-color: #fff;
}
&amp;lt;/style&amp;gt;
&amp;lt;script&amp;gt;var dojoConfig = { parseOnLoad: true };&amp;lt;/script&amp;gt;
&lt;SPAN&gt;&amp;lt;script src="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fjs.arcgis.com%2F3.16%2F" target="_blank"&gt;https://js.arcgis.com/3.16/&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&amp;lt;/script&amp;gt;&lt;/SPAN&gt;
&amp;lt;script&amp;gt;
require([
&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/map",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/layers/ArcGISDynamicMapServiceLayer",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/dijit/LayerList",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/query",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/dom-class",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "dijit/layout/BorderContainer",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "dijit/layout/ContentPane",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "dojo/domReady!"
], function(
&amp;nbsp;&amp;nbsp;&amp;nbsp; Map,
&amp;nbsp;&amp;nbsp;&amp;nbsp; ArcGISDynamicMapServiceLayer,
&amp;nbsp;&amp;nbsp;&amp;nbsp; LayerList,
&amp;nbsp;&amp;nbsp;&amp;nbsp; query,
&amp;nbsp;&amp;nbsp;&amp;nbsp; domClass
) {
&amp;nbsp; var map = new Map("map", {
&amp;nbsp;&amp;nbsp;&amp;nbsp; basemap: "topo",
&amp;nbsp;&amp;nbsp;&amp;nbsp; center: [-123, 47],
&amp;nbsp;&amp;nbsp;&amp;nbsp; zoom: 8,
&amp;nbsp;&amp;nbsp;&amp;nbsp; sliderStyle: "small"
&amp;nbsp; });

&lt;SPAN&gt;&amp;nbsp; var atlasLayer = new ArcGISDynamicMapServiceLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fsampleserver6.arcgisonline.com%2Farcgis%2Frest%2Fservices%2FCensus%2FMapServer" target="_blank"&gt;http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer&lt;/A&gt;&lt;SPAN&gt;", {&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; "id": "atlasLayer",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "showAttribution": false
&amp;nbsp; });

&lt;SPAN&gt;&amp;nbsp; var recreationLayer = new ArcGISDynamicMapServiceLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fsampleserver6.arcgisonline.com%2Farcgis%2Frest%2Fservices%2FRecreation%2FMapServer" target="_blank"&gt;http://sampleserver6.arcgisonline.com/arcgis/rest/services/Recreation/MapServer&lt;/A&gt;&lt;SPAN&gt;", {&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; "id": "recreationLayer",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "showAttribution": false
&amp;nbsp; });

&lt;SPAN&gt;&amp;nbsp; var waterNetLayer = new ArcGISDynamicMapServiceLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fsampleserver6.arcgisonline.com%2Farcgis%2Frest%2Fservices%2FWater_Network%2FMapServer" target="_blank"&gt;http://sampleserver6.arcgisonline.com/arcgis/rest/services/Water_Network/MapServer&lt;/A&gt;&lt;SPAN&gt;", {&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; "id": "waterNetworkLayer",
&amp;nbsp;&amp;nbsp;&amp;nbsp; "showAttribution": false
&amp;nbsp; })

&amp;nbsp; map.addLayers([atlasLayer, recreationLayer, waterNetLayer]);

&amp;nbsp; var llWidget = new LayerList({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map: map,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layers: [{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layer: atlasLayer,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id: "Atlas layers",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subLayers: true
&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; layer: recreationLayer,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id: "Recreation layers",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subLayers: true
&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; layer: waterNetLayer,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id: "Water Network layers",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subLayers: true
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }], showSubLayers: true, showOpacitySlider: true
&amp;nbsp; },"layerList");
&amp;nbsp; llWidget.startup();

&amp;nbsp; llWidget.on('load', function(){
&amp;nbsp;&amp;nbsp;&amp;nbsp; expandLayerList();
&amp;nbsp; });

&amp;nbsp; function expandLayerList() {
&amp;nbsp;&amp;nbsp;&amp;nbsp; //This first part will expand the main layers.
&amp;nbsp;&amp;nbsp;&amp;nbsp; query('.esriLayer').forEach(function(node){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; domClass.add(node, "esriListExpand");
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp; query('.esriToggleButton').forEach(function(node){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; domClass.replace(node, "esri-icon-down", "esri-icon-right");
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp; //This part will collapse the sublayer lists
&amp;nbsp;&amp;nbsp;&amp;nbsp; query('.esriSubListLayer.esriHasSubList.esriSubListExpand.esriListVisible').forEach(function(node){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.info(node);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; domClass.remove(node, "esriSubListExpand");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; domClass.remove(node, "esriListVisible");
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp; }

});
&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body class="claro"&amp;gt;
&amp;lt;div class="container" data-dojo-type="dijit/layout/BorderContainer"
data-dojo-props="design:'headline',gutters:false"&amp;gt;
&amp;lt;div id="layerListPane" data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'right'"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div id="layerList"&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div id="map" data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'center'"&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 17:05:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/layer-list-how-to-display-only-root-layer-group/m-p/368874#M34215</guid>
      <dc:creator>RobertScheitlin__GISP</dc:creator>
      <dc:date>2021-12-11T17:05:55Z</dc:date>
    </item>
    <item>
      <title>Re: Layer List - how to display only root layer group (first level of a tree)</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/layer-list-how-to-display-only-root-layer-group/m-p/368875#M34216</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Robert,&lt;/P&gt;&lt;P&gt;Thank you so much for this solution!&lt;/P&gt;&lt;P&gt;This do the trick and is a great starting point for further development.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As I'm beginner in web programming, please let me learn something and decipher your code, not only copy it:)&lt;/P&gt;&lt;P&gt;Please, correct my understanding if necessary and give some light for my (lame) questions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;OL class="dp-c" start="1"&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; query(&lt;SPAN class="string"&gt;'.esriLayer').forEach(&lt;SPAN class="keyword"&gt;function&lt;/SPAN&gt;(node){&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; domClass.add(node, &lt;SPAN class="string"&gt;"esriListExpand");&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&amp;nbsp; &lt;/LI&gt;&lt;/OL&gt;&lt;/PRE&gt;&lt;P&gt;Here you search DOM for elements with class &lt;EM&gt;'.esriLayer'&lt;/EM&gt; and for each element (node) found you add an option to expand this node.&lt;/P&gt;&lt;P&gt;How did you know you should use "&lt;EM&gt;esriListExpand&lt;/EM&gt;" here? The only place in documentation where I found it is here: &lt;A href="https://developers.arcgis.com/javascript/3/jsapi/css/esri/dijit/LayerList/css/LayerList.css" title="https://developers.arcgis.com/javascript/3/jsapi/css/esri/dijit/LayerList/css/LayerList.css" rel="nofollow noopener noreferrer" target="_blank"&gt;https://developers.arcgis.com/javascript/3/jsapi/css/esri/dijit/LayerList/css/LayerList.css&lt;/A&gt; &lt;/P&gt;&lt;P&gt;and there's only one mention:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;.esriLayerList .esriListExpand.esriListVisible .esriTabContainer {
&amp;nbsp; display: block;
}&lt;/PRE&gt;&lt;P&gt;Why only root level groups of layers are expanded and the rest are colapsed? Isn't '.&lt;EM&gt;esriLayer&lt;/EM&gt;' referencing all layers in the service?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;OL class="dp-c" start="1"&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; query(&lt;SPAN class="string"&gt;'.esriSubListLayer.esriHasSubList.esriSubListExpand.esriListVisible').forEach(&lt;SPAN class="keyword"&gt;function&lt;/SPAN&gt;(node){&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.info(node);&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; domClass.remove(node, &lt;SPAN class="string"&gt;"esriSubListExpand");&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; domClass.remove(node, &lt;SPAN class="string"&gt;"esriListVisible");&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/LI&gt;&lt;/OL&gt;&lt;/PRE&gt;&lt;P&gt;Here looking for specific classes and removing some of them. How did you know you should query for 4 classes and remove only 2 of them? &lt;/P&gt;&lt;P&gt;Again, I found only one reference to "esriSuListExpand":&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;.esriLayerList .esriSubListExpand &amp;gt; .esriSubList {
&amp;nbsp; display: block;
}&lt;/PRE&gt;&lt;P&gt;How do you relate it to your code?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 17:05:58 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/layer-list-how-to-display-only-root-layer-group/m-p/368875#M34216</guid>
      <dc:creator>MichalGasiorowski</dc:creator>
      <dc:date>2021-12-11T17:05:58Z</dc:date>
    </item>
    <item>
      <title>Re: Layer List - how to display only root layer group (first level of a tree)</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/layer-list-how-to-display-only-root-layer-group/m-p/368876#M34217</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Michal,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; You are not going to find documentation for esri internal workings, so the best way I find is to use my browsers element inspector by right clicking on a dom element and looking at the style tab (in Chrome) and see the classes that are assigned to that element. When the sublayer intially loaded it has these four classes "esriSubListLayer esriHasSubList esriSubListExpand esriListVisible" and when you click on that element it collapses and only has "esriSubListLayer esriHasSubList". So that tells me that "esriSubListExpand esriListVisible" are the classes that cause the sublayer to be expanded.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"esriLayer" class is only assigned to the main layer and "esriSubListLayer" is assigned to sublayer inside the "esriLayer" that should answer your first question.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Don't forget to mark this question as answered by clicking on the "Correct Answer" link on the reply that answered your question.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Jul 2016 14:58:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/layer-list-how-to-display-only-root-layer-group/m-p/368876#M34217</guid>
      <dc:creator>RobertScheitlin__GISP</dc:creator>
      <dc:date>2016-07-06T14:58:24Z</dc:date>
    </item>
    <item>
      <title>Re: Layer List - how to display only root layer group (first level of a tree)</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/layer-list-how-to-display-only-root-layer-group/m-p/368877#M34218</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for this explanation. It really shows that being familiar with developer tools is necessary.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&lt;/P&gt;&lt;P&gt;Don't forget to mark this question as answered by clicking on the "Correct Answer" link on the reply that answered your question.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;I didn't forget, just waited for your final reply:)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Jul 2016 15:05:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/layer-list-how-to-display-only-root-layer-group/m-p/368877#M34218</guid>
      <dc:creator>MichalGasiorowski</dc:creator>
      <dc:date>2016-07-06T15:05:28Z</dc:date>
    </item>
  </channel>
</rss>

