<?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: Access TOC from widget in ArcGIS Viewer for Flex Questions</title>
    <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721799#M21800</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;i modified the code as below to make it work but i had to do alot of other custom code in my widget, but this might give you some idea.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
public function TocItem( parentItem:TocItem = null )
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; _parent = parentItem;
&amp;nbsp;&amp;nbsp; AppEvent.addListener(AppEvent.LAYER_VISIBILITY_CHANGED,updateCB);
&amp;nbsp; }
&amp;nbsp; private function updateCB(event:AppEvent):void
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; var disObj:Object=event.data;
&amp;nbsp;&amp;nbsp; //if(disObj.mainLayer!=null){
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; if(this is TocLayerInfoItem)
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var tli:TocLayerInfoItem = this as TocLayerInfoItem;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(tli.rootInfo.name==disObj.mainLayer || disObj.mainLayer==null){
&amp;nbsp;&amp;nbsp;&amp;nbsp; //var tmpLayer:ArcGISDynamicMapServiceLayer=disObj.mainLayer;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(tli.layerInfo.id == disObj.index){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //this.preventPropogation=true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(disObj.visibility==false){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.setVisibleDirect(false);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //this.visible=false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(disObj.visibility==true){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.setVisibleDirect(true);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //this.visible=true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(tli.isGroupLayer()){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AppEvent.dispatch(AppEvent.VISIBLE_LAYERS_RETURNED,tli.layerInfo.id);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }// end of mainlayer if
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; //}
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; }
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 12 Dec 2021 06:52:15 GMT</pubDate>
    <dc:creator>FaizanTayyab</dc:creator>
    <dc:date>2021-12-12T06:52:15Z</dc:date>
    <item>
      <title>Access TOC from widget</title>
      <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721796#M21797</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I would like to change the TOC as follows:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1. Turn on a sub layer automatically from a separate widget&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. Switch off all sub layers when group layer is switched off&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3. Switch on group layer automatically when a sub layer is turn on&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4. Disable / Enable a TOC node from a separate widget&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is this feasible in the Flex Viewer?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Nov 2011 16:13:25 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721796#M21797</guid>
      <dc:creator>RavinHasseea</dc:creator>
      <dc:date>2011-11-02T16:13:25Z</dc:date>
    </item>
    <item>
      <title>Re: Access TOC from widget</title>
      <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721797#M21798</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;I would like to change the TOC as follows:&lt;BR /&gt;1. Turn on a sub layer automatically from a separate widget&lt;BR /&gt;2. Switch off all sub layers when group layer is switched off&lt;BR /&gt;3. Switch on group layer automatically when a sub layer is turn on&lt;BR /&gt;4. Disable / Enable a TOC node from a separate widget&lt;BR /&gt;&lt;BR /&gt;Is this feasible in the Flex Viewer?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Are you using the widget from the gallery for the TOC.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you search the forums, you should be able to find a way to achieve the above.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I had to do something similar for creating a session save widget (saves user session to a file and allows sharing of sessions). &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Code which helped me (again found from the forum search):&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
var visLayers:ArrayCollection = dmsl.visibleLayers;
var newVisLayer:ArrayCollection=new ArrayCollection(obj.visLyrs.visibleLayer);
for each(var j:int in newVisLayer){
AppEvent.dispatch(AppEvent.LAYER_VISIBILITY_CHANGED,j);
}
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In TOCitem&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
public function TocItem( parentItem:TocItem = null )
{
 _parent = parentItem;
 //ViewerContainer.addEventListener(AppEvent.LAYER_VISIBILITY_CHANGED, updateCB);
 AppEvent.addListener(AppEvent.LAYER_VISIBILITY_CHANGED,updateCB);
}

private function updateCB(event:AppEvent):void
{
 if(this is TocLayerInfoItem)
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var tli:TocLayerInfoItem = this as TocLayerInfoItem;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; if(tli.layerInfo.id == event.data){
&amp;nbsp;&amp;nbsp; setVisibleDirect(_visible ? false : true);
&amp;nbsp; }
 }
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 06:52:13 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721797#M21798</guid>
      <dc:creator>FaizanTayyab</dc:creator>
      <dc:date>2021-12-12T06:52:13Z</dc:date>
    </item>
    <item>
      <title>Re: Access TOC from widget</title>
      <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721798#M21799</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi I have tried the suggested above. I turn on a layer from a widget. This works fine. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Then dispatch an event. The code setVisibleDirect(_visible ? false : true); is run&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;however, when I open the layerList widget, the checkbox for the layer is still not ticked.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Am I missing out something?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Dec 2011 10:19:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721798#M21799</guid>
      <dc:creator>RavinHasseea</dc:creator>
      <dc:date>2011-12-09T10:19:26Z</dc:date>
    </item>
    <item>
      <title>Re: Access TOC from widget</title>
      <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721799#M21800</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;i modified the code as below to make it work but i had to do alot of other custom code in my widget, but this might give you some idea.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
public function TocItem( parentItem:TocItem = null )
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; _parent = parentItem;
&amp;nbsp;&amp;nbsp; AppEvent.addListener(AppEvent.LAYER_VISIBILITY_CHANGED,updateCB);
&amp;nbsp; }
&amp;nbsp; private function updateCB(event:AppEvent):void
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; var disObj:Object=event.data;
&amp;nbsp;&amp;nbsp; //if(disObj.mainLayer!=null){
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; if(this is TocLayerInfoItem)
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var tli:TocLayerInfoItem = this as TocLayerInfoItem;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(tli.rootInfo.name==disObj.mainLayer || disObj.mainLayer==null){
&amp;nbsp;&amp;nbsp;&amp;nbsp; //var tmpLayer:ArcGISDynamicMapServiceLayer=disObj.mainLayer;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(tli.layerInfo.id == disObj.index){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //this.preventPropogation=true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(disObj.visibility==false){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.setVisibleDirect(false);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //this.visible=false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(disObj.visibility==true){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.setVisibleDirect(true);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //this.visible=true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(tli.isGroupLayer()){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AppEvent.dispatch(AppEvent.VISIBLE_LAYERS_RETURNED,tli.layerInfo.id);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }// end of mainlayer if
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; //}
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; }
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 06:52:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721799#M21800</guid>
      <dc:creator>FaizanTayyab</dc:creator>
      <dc:date>2021-12-12T06:52:15Z</dc:date>
    </item>
    <item>
      <title>Re: Access TOC from widget</title>
      <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721800#M21801</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I would have thought it would quite common to switch on a layer without using the toc. But the solution isn't obvious. Below doesn't work. Any ideas??&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;layerlist contains sublayers to switch on..&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;for (var i:int = 0; i &amp;lt; layerList.length() - 1; i++)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var servicename:String = layerList&lt;I&gt;.@service;&lt;/I&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var layerno:String = layerList&lt;I&gt;.@layerno;&lt;/I&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var vizLayers:Array = new Array();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vizLayers.push(layerno);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for each (var layer:Layer in map.layers)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(layer.name == servicename)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&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;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var MapLayer: ArcGISDynamicMapServiceLayer = layer as ArcGISDynamicMapServiceLayer;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MapLayer.visibleLayers = new ArrayCollection(vizLayers);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var visLayers:ArrayCollection = MapLayer.visibleLayers;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; visLayers.addItem(layerno);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MapLayer.visibleLayers = visLayers;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MapLayer.refresh(); &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var data:Object =&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layerid: layerno,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; visibility: true&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AppEvent.dispatch(AppEvent.LAYER_VISIBILITY_CHANGED,data);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;private function updateCheckBox(event:AppEvent):void&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if(this is TocLayerInfoItem)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; var tli:TocLayerInfoItem = this as TocLayerInfoItem;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; var obj:Object=event.data;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; if(tli.layerInfo.id == obj.layerid)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(obj.visibility == true)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.setVisibleDirect(true);&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The required layers are switched on the map. But no change in TOC.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Dec 2011 15:57:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721800#M21801</guid>
      <dc:creator>RavinHasseea</dc:creator>
      <dc:date>2011-12-09T15:57:21Z</dc:date>
    </item>
    <item>
      <title>Re: Access TOC from widget</title>
      <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721801#M21802</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;i modified the code as below to make it work but i had to do alot of other custom code in my widget, but this might give you some idea.&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
public function TocItem( parentItem:TocItem = null )
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; _parent = parentItem;
&amp;nbsp;&amp;nbsp; AppEvent.addListener(AppEvent.LAYER_VISIBILITY_CHANGED,updateCB);
&amp;nbsp; }
&amp;nbsp; private function updateCB(event:AppEvent):void
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; var disObj:Object=event.data;
&amp;nbsp;&amp;nbsp; //if(disObj.mainLayer!=null){
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; if(this is TocLayerInfoItem)
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var tli:TocLayerInfoItem = this as TocLayerInfoItem;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(tli.rootInfo.name==disObj.mainLayer || disObj.mainLayer==null){
&amp;nbsp;&amp;nbsp;&amp;nbsp; //var tmpLayer:ArcGISDynamicMapServiceLayer=disObj.mainLayer;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(tli.layerInfo.id == disObj.index){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //this.preventPropogation=true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(disObj.visibility==false){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.setVisibleDirect(false);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //this.visible=false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(disObj.visibility==true){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.setVisibleDirect(true);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //this.visible=true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(tli.isGroupLayer()){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AppEvent.dispatch(AppEvent.VISIBLE_LAYERS_RETURNED,tli.layerInfo.id);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }// end of mainlayer if
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; //}
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; }
&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;rockzZ25, I am trying to follow your suggestion above. How do you obtain rootInfo in&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;tli.rootInfo.name?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Also disObj.mainLayer?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 06:52:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721801#M21802</guid>
      <dc:creator>RavinHasseea</dc:creator>
      <dc:date>2021-12-12T06:52:18Z</dc:date>
    </item>
    <item>
      <title>Re: Access TOC from widget</title>
      <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721802#M21803</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I modified tocLayerInfoItem&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
////////////////////////////////////////////////////////////////////////////////
//
// Copyright � 2008 ESRI
//
// All rights reserved under the copyright laws of the United States.
// You may freely redistribute and use this software, with or
// without modification, provided you include the original copyright
// and use restrictions.&amp;nbsp; See use restrictions in the file:
// &amp;lt;install location&amp;gt;/FlexViewer/License.txt
//
////////////////////////////////////////////////////////////////////////////////

package com.esri.viewer.components.toc.tocClasses
{
 
 import com.esri.ags.events.ExtentEvent;
 import com.esri.ags.layers.ArcGISDynamicMapServiceLayer;
 import com.esri.ags.layers.Layer;
 import com.esri.ags.layers.supportClasses.LayerInfo;
 import com.esri.viewer.ViewerContainer;

 /**
&amp;nbsp; * A TOC item representing a member layer of an ArcGIS or ArcIMS map service.
&amp;nbsp; * This includes group layers that contain other member layers.
&amp;nbsp; */
 public class TocLayerInfoItem extends TocItem
 {
&amp;nbsp; public function TocLayerInfoItem( parentItem:TocItem, layerInfo:LayerInfo,tLayer:Layer)
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; super(parentItem);
&amp;nbsp;&amp;nbsp; // Added line below 
&amp;nbsp;&amp;nbsp; _rootInfo=tLayer as ArcGISDynamicMapServiceLayer;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; _layerInfo = layerInfo;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; label = layerInfo.name;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; // Set the initial visibility without causing a layer refresh
&amp;nbsp;&amp;nbsp; setVisible(layerInfo.defaultVisibility, false);
&amp;nbsp; 
&amp;nbsp;&amp;nbsp; ViewerContainer.getInstance().mapManager.map.addEventListener(ExtentEvent.EXTENT_CHANGE,checkExtent);
&amp;nbsp; }
&amp;nbsp; 
&amp;nbsp; internal static const DEFAULT_MAX:Number = 0;
&amp;nbsp; 
&amp;nbsp; private var _maxScale:Number = DEFAULT_MAX;
&amp;nbsp; 
&amp;nbsp; public function set maxScale( value:Number ):void
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; _maxScale = value;
&amp;nbsp;&amp;nbsp; this.scaledependant = true;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; if (_maxScale &amp;gt; 0 ){
&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((ViewerContainer.getInstance().mapManager.map.scale &amp;gt;= _maxScale)){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.scaledependant = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; } else if (_minScale &amp;gt; 0 ) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((ViewerContainer.getInstance().mapManager.map.scale &amp;lt;= _minScale)){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.scaledependant = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; } else {
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.scaledependant = false;
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; }
&amp;nbsp; 
&amp;nbsp; public function get maxScale():Number
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; return _maxScale;
&amp;nbsp; }
&amp;nbsp; 
&amp;nbsp; private function checkExtent(evt:ExtentEvent):void{
&amp;nbsp;&amp;nbsp; this.scaledependant = true;
&amp;nbsp;&amp;nbsp; if (_maxScale &amp;gt; 0 ){
&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((ViewerContainer.getInstance().mapManager.map.scale &amp;gt;= _maxScale)){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.scaledependant = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; } else if (_minScale &amp;gt; 0 ) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((ViewerContainer.getInstance().mapManager.map.scale &amp;lt;= _minScale)){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.scaledependant = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; } else {
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.scaledependant = false;
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; }
&amp;nbsp; 
&amp;nbsp; internal static const DEFAULT_MIN:Number = 0;
&amp;nbsp; 
&amp;nbsp; private var _minScale:Number = DEFAULT_MIN;
&amp;nbsp; 
&amp;nbsp; public function set minScale( value:Number ):void
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; _minScale = value;
&amp;nbsp;&amp;nbsp; this.scaledependant = true;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; if (_maxScale &amp;gt; 0 ){
&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((ViewerContainer.getInstance().mapManager.map.scale &amp;gt;= _maxScale)){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.scaledependant = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; } else if (_minScale &amp;gt; 0 ) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((ViewerContainer.getInstance().mapManager.map.scale &amp;lt;= _minScale)){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.scaledependant = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; } else {
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.scaledependant = false;
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; }
&amp;nbsp; 
&amp;nbsp; public function get minScale():Number
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; return _minScale;
&amp;nbsp; }
&amp;nbsp; 
&amp;nbsp; //--------------------------------------------------------------------------
&amp;nbsp; //&amp;nbsp; Property:&amp;nbsp; layerInfo
&amp;nbsp; //--------------------------------------------------------------------------
&amp;nbsp; 
&amp;nbsp; private var _layerInfo:LayerInfo;
&amp;nbsp; 
&amp;nbsp; /**
&amp;nbsp;&amp;nbsp; * The map layer info that backs this TOC item.
&amp;nbsp;&amp;nbsp; */
&amp;nbsp; public function get layerInfo():LayerInfo
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; return _layerInfo;
&amp;nbsp; }
&amp;nbsp; 
&amp;nbsp; ///--------------------------------------------------------------------------
&amp;nbsp; //&amp;nbsp;&amp;nbsp; Property: _rootNode
&amp;nbsp; ///--------------------------------------------------------------------------
&amp;nbsp; private var _rootInfo:ArcGISDynamicMapServiceLayer;
&amp;nbsp; /**
&amp;nbsp;&amp;nbsp; * The map layer root behind this TOC item.
&amp;nbsp;&amp;nbsp; */
&amp;nbsp; public function get rootInfo():ArcGISDynamicMapServiceLayer
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; return _rootInfo;
&amp;nbsp; }
&amp;nbsp; 
&amp;nbsp; //--------------------------------------------------------------------------
&amp;nbsp; //
&amp;nbsp; //&amp;nbsp; Methods
&amp;nbsp; //
&amp;nbsp; //--------------------------------------------------------------------------
&amp;nbsp; 
&amp;nbsp; /**
&amp;nbsp;&amp;nbsp; * @private
&amp;nbsp;&amp;nbsp; */
&amp;nbsp; override internal function setVisible( value:Boolean, layerRefresh:Boolean = true ):void
&amp;nbsp; {
&amp;nbsp; 
&amp;nbsp;&amp;nbsp; // Set the visible state of all children, but defer the layer refresh
&amp;nbsp;&amp;nbsp; for each (var item:TocItem in children) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; //if(super.preventPropogation==false){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item.setVisible(value, false);
&amp;nbsp;&amp;nbsp;&amp;nbsp; //}
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; // Set the visible state of this item, but defer the layer refresh
&amp;nbsp;&amp;nbsp; super.setVisible(value, false);
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; // Allow the layer refresh now that all changes have been made
&amp;nbsp;&amp;nbsp; if (layerRefresh) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; refreshLayer();
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; }
 }

}
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 06:52:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721802#M21803</guid>
      <dc:creator>FaizanTayyab</dc:creator>
      <dc:date>2021-12-12T06:52:21Z</dc:date>
    </item>
    <item>
      <title>Re: Access TOC from widget</title>
      <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721803#M21804</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The code below, loads a user session file &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
var bytes:ByteArray=lfileRef.data;
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.loadedObj=bytes.readObject();
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; map.scale=loadedObj.scale;
&amp;nbsp;&amp;nbsp;&amp;nbsp; map.extent=loadedObj.extent;

&amp;nbsp;&amp;nbsp;&amp;nbsp; var layerIDsArr:Array = map.layerIds;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for(var i:Number = 0; i &amp;lt; layerIDsArr.length; i++)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var tmpLayer:Layer = map.getLayer(layerIDsArr&lt;I&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(var j:Number=0;j&amp;lt;loadedObj.objs.length;j++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(tmpLayer.id==loadedObj.objs&lt;J&gt;.mainLayer.toString()){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmpLayer.visible=true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.hideLayerItem=new Array();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(tmpLayer is ArcGISDynamicMapServiceLayer){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var dmsl:ArcGISDynamicMapServiceLayer=tmpLayer as ArcGISDynamicMapServiceLayer;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.loadedLayer=null;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Remove all checks and also remove any visible sublayers
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for each(var lyrInfo:LayerInfo in dmsl.layerInfos){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.hideLayer(dmsl,lyrInfo);
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; // handle the group layers and call the handler to
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AppEvent.addListener(AppEvent.VISIBLE_LAYERS_RETURNED,handleVisibleLayers);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.loadedLayer=dmsl;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for each(var k:int in loadedObj.objs&lt;J&gt;.visibleLayer){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var disObj:Object=new Object();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; disObj.index=k;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; disObj.visibility=true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; disObj.mainLayer=dmsl.name;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;AppEvent.dispatch(AppEvent.LAYER_VISIBILITY_CHANGED,disObj);&lt;/STRONG&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; // Code below to make the child of group invisible but maintaining the tick of the group
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var newVisLayer:ArrayCollection=new ArrayCollection(this.loadedObj.objs&lt;J&gt;.visibleLayer);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var x:int=0; x&amp;lt;newVisLayer.length;x++){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(var y:int=0;y&amp;lt;this.hideLayerItem.length;y++){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(newVisLayer&lt;X&gt;==this.hideLayerItem&lt;Y&gt;){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idx:int=newVisLayer.getItemIndex(this.hideLayerItem&lt;Y&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; newVisLayer.removeItemAt(idx);
&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; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.loadedLayer.visibleLayers=newVisLayer;
&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;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } // end of inner for
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/Y&gt;&lt;/Y&gt;&lt;/X&gt;&lt;/J&gt;&lt;/J&gt;&lt;/J&gt;&lt;/I&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 06:52:23 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721803#M21804</guid>
      <dc:creator>FaizanTayyab</dc:creator>
      <dc:date>2021-12-12T06:52:23Z</dc:date>
    </item>
    <item>
      <title>Re: Access TOC from widget</title>
      <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721804#M21805</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for this. Does it work with the default layerlist widget ?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Dec 2011 13:52:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721804#M21805</guid>
      <dc:creator>RavinHasseea</dc:creator>
      <dc:date>2011-12-12T13:52:19Z</dc:date>
    </item>
    <item>
      <title>Re: Access TOC from widget</title>
      <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721805#M21806</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;sunsilk10,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I haven't tried it with the default layerlist widget but i think with some tweaking it should work. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As making this work required changes in multiple places within the application, I couldn't create a complete save session widget but with all those changes/additions, the save session code works fine for me.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Dec 2011 14:02:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/access-toc-from-widget/m-p/721805#M21806</guid>
      <dc:creator>FaizanTayyab</dc:creator>
      <dc:date>2011-12-12T14:02:54Z</dc:date>
    </item>
  </channel>
</rss>

