<?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 Enable default popups for user added layer in ArcGIS Viewer for Flex Questions</title>
    <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/enable-default-popups-for-user-added-layer/m-p/690042#M21126</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Using version 2.5, I have a widget that allows users to add their own dynamic services to the TOC by entering the service URL and selecting a layer.&amp;nbsp; I'm trying to enable the default identify tool to work for user layers the same way it works when using the "popupconfig" option in the XML config file for a layer.&amp;nbsp; I can use my widget to add a new layer to the TOC and display it, but nothing happens when I click on a feature.&amp;nbsp; The popup works if I define the same layer in my XML config file with the popupconfig option.&amp;nbsp; Has anyone else tried this?&amp;nbsp; I want to be able to use popups for user added layers without needing a precreated popup XML file or using the IdentifyWidget.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt; private function createPopUp(url:String,layer:ArcGISDynamicMapServiceLayer,layerId:int):void&amp;nbsp; var loader:URLLoader = new URLLoader(); loader.addEventListener(Event.COMPLETE, completeHandler); loader.load(new URLRequest(url+"/"+layerId+"?f=json"));&amp;nbsp; function completeHandler(event:Event):void {&amp;nbsp; var loader:URLLoader = URLLoader(event.target);&amp;nbsp; var svc:Object = JSON.decode(loader.data);&amp;nbsp; var popupFields:Array = [];&amp;nbsp; var firstfield:String =null;&amp;nbsp; for each(var field:Object in svc.fields)&amp;nbsp; { &amp;nbsp; if(field.name=="OBJECTID"||field.name=="Shape_Length"||field.name=="Shape_Area" || field.name=="Shape")continue; &amp;nbsp; var popupFieldInfo:PopUpFieldInfo = new PopUpFieldInfo(); &amp;nbsp; if(!firstfield)firstfield=field.name; &amp;nbsp; popupFieldInfo.fieldName = field.name; &amp;nbsp; popupFieldInfo.label = field.alias; &amp;nbsp; popupFieldInfo.visible = true; &amp;nbsp; popupFieldInfo.format = new PopUpFieldFormat(); &amp;nbsp; popupFields.push(popupFieldInfo);&amp;nbsp; }&amp;nbsp; var popUpInfo:PopUpInfo = new PopUpInfo();&amp;nbsp; // Tell the pop-up info about the field name template&amp;nbsp; popUpInfo.title = "{"+firstfield+"}";&amp;nbsp; popUpInfo.popUpFieldInfos = popupFields;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Create the class factory&amp;nbsp; var popUpRenderer:ClassFactory = new ClassFactory(PopUpRenderer);&amp;nbsp; // Set the "popUpInfo" key&amp;nbsp; popUpRenderer.properties = { "popUpInfo": popUpInfo };&amp;nbsp; var layerInfoWindowRenderer:LayerInfoWindowRenderer = new LayerInfoWindowRenderer();&amp;nbsp; layerInfoWindowRenderer.layerId = Number(layerId);&amp;nbsp; var infoWindowRenderer:ClassFactory = new ClassFactory(PopUpRenderer);&amp;nbsp; infoWindowRenderer.properties = { popUpInfo: popUpInfo };&amp;nbsp;&amp;nbsp; var arrLayerInfoWindowRenderer:Array = [];&amp;nbsp; arrLayerInfoWindowRenderer.push(popUpRenderer);&amp;nbsp;&amp;nbsp; layer.layerInfoWindowRenderers=arrLayerInfoWindowRenderer; } }&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 13 Mar 2013 12:34:52 GMT</pubDate>
    <dc:creator>JoeJones</dc:creator>
    <dc:date>2013-03-13T12:34:52Z</dc:date>
    <item>
      <title>Enable default popups for user added layer</title>
      <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/enable-default-popups-for-user-added-layer/m-p/690042#M21126</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Using version 2.5, I have a widget that allows users to add their own dynamic services to the TOC by entering the service URL and selecting a layer.&amp;nbsp; I'm trying to enable the default identify tool to work for user layers the same way it works when using the "popupconfig" option in the XML config file for a layer.&amp;nbsp; I can use my widget to add a new layer to the TOC and display it, but nothing happens when I click on a feature.&amp;nbsp; The popup works if I define the same layer in my XML config file with the popupconfig option.&amp;nbsp; Has anyone else tried this?&amp;nbsp; I want to be able to use popups for user added layers without needing a precreated popup XML file or using the IdentifyWidget.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt; private function createPopUp(url:String,layer:ArcGISDynamicMapServiceLayer,layerId:int):void&amp;nbsp; var loader:URLLoader = new URLLoader(); loader.addEventListener(Event.COMPLETE, completeHandler); loader.load(new URLRequest(url+"/"+layerId+"?f=json"));&amp;nbsp; function completeHandler(event:Event):void {&amp;nbsp; var loader:URLLoader = URLLoader(event.target);&amp;nbsp; var svc:Object = JSON.decode(loader.data);&amp;nbsp; var popupFields:Array = [];&amp;nbsp; var firstfield:String =null;&amp;nbsp; for each(var field:Object in svc.fields)&amp;nbsp; { &amp;nbsp; if(field.name=="OBJECTID"||field.name=="Shape_Length"||field.name=="Shape_Area" || field.name=="Shape")continue; &amp;nbsp; var popupFieldInfo:PopUpFieldInfo = new PopUpFieldInfo(); &amp;nbsp; if(!firstfield)firstfield=field.name; &amp;nbsp; popupFieldInfo.fieldName = field.name; &amp;nbsp; popupFieldInfo.label = field.alias; &amp;nbsp; popupFieldInfo.visible = true; &amp;nbsp; popupFieldInfo.format = new PopUpFieldFormat(); &amp;nbsp; popupFields.push(popupFieldInfo);&amp;nbsp; }&amp;nbsp; var popUpInfo:PopUpInfo = new PopUpInfo();&amp;nbsp; // Tell the pop-up info about the field name template&amp;nbsp; popUpInfo.title = "{"+firstfield+"}";&amp;nbsp; popUpInfo.popUpFieldInfos = popupFields;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Create the class factory&amp;nbsp; var popUpRenderer:ClassFactory = new ClassFactory(PopUpRenderer);&amp;nbsp; // Set the "popUpInfo" key&amp;nbsp; popUpRenderer.properties = { "popUpInfo": popUpInfo };&amp;nbsp; var layerInfoWindowRenderer:LayerInfoWindowRenderer = new LayerInfoWindowRenderer();&amp;nbsp; layerInfoWindowRenderer.layerId = Number(layerId);&amp;nbsp; var infoWindowRenderer:ClassFactory = new ClassFactory(PopUpRenderer);&amp;nbsp; infoWindowRenderer.properties = { popUpInfo: popUpInfo };&amp;nbsp;&amp;nbsp; var arrLayerInfoWindowRenderer:Array = [];&amp;nbsp; arrLayerInfoWindowRenderer.push(popUpRenderer);&amp;nbsp;&amp;nbsp; layer.layerInfoWindowRenderers=arrLayerInfoWindowRenderer; } }&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Mar 2013 12:34:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/enable-default-popups-for-user-added-layer/m-p/690042#M21126</guid>
      <dc:creator>JoeJones</dc:creator>
      <dc:date>2013-03-13T12:34:52Z</dc:date>
    </item>
    <item>
      <title>Re: Enable default popups for user added layer</title>
      <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/enable-default-popups-for-user-added-layer/m-p/690043#M21127</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I've been working on adding a default infowindow to all layers and have it working with ArcGISDynamicMapServiceLayer and FeatureLayer. Does your layer have any sub-layers?&amp;nbsp; If so, you'll need to define an infowindow for each sub-layer and place them all in your arrLayerInfoWindowRenderer.&amp;nbsp; Here's what I'm doing, perhaps it will help.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;// Listen for new layers map.addEventListener(MapEvent.LAYER_ADD, onLayerAdd);&amp;nbsp; private function onLayerAdd(event:MapEvent):void { &amp;nbsp; if (event.layer is FeatureLayer) &amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp; // Do FeatureLayer stuff &amp;nbsp; } &amp;nbsp; else if (event.layer is ArcGISDynamicMapServiceLayer) &amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp; // If it's not a basemap, listen for it to load &amp;nbsp;&amp;nbsp;&amp;nbsp; var layer:ArcGISDynamicMapServiceLayer = event.layer as ArcGISDynamicMapServiceLayer; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (layer.name.indexOf(" BaseMap") == -1) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.addEventListener(LayerEvent.LOAD, onLayerLoad); &amp;nbsp; } }&amp;nbsp; // Fetch the fields of all sub-layers private function onLayerLoad(event:LayerEvent):void { &amp;nbsp; var layer:ArcGISDynamicMapServiceLayer = event.layer as ArcGISDynamicMapServiceLayer; &amp;nbsp; layer.removeEventListener(LayerEvent.LOAD, onLayerLoad); &amp;nbsp; layer.getAllDetails(new AsyncResponser(getAllDetailsResult, getAllDetailsFault, layer)); }&amp;nbsp; // Build an InfoWindow for each sub-layer private function getAllDetailsResult(event:AllDetails, layer:ArcGISDynamicMapServiceLayer):void { &amp;nbsp; var renderers:Array = []; &amp;nbsp; for each (var layerDetails:LayerDetails in event.layerDetails) &amp;nbsp;&amp;nbsp;&amp;nbsp; if (layerDetails.fields) &amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var renderer:LayerInfoWindowRenderer = new LayerInfoWindowRenderer(); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var infoWindowRenderer:ClassFactory = new ClassFactory(PopUpRenderer); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoWindowRenderer.properties = { popUpInfo: configurePopUpInfo(layerDetails.fields, layerDetails.name) }; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; renderer.infoWindowRenderer = infoWindowRenderer; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; renderer.layerId = layerDetails.id; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; renderers.push(renderer); &amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp; layer.infoWindowRenderers = renderers; }&amp;nbsp; private function configurePopupInfo(fields:Array, title:String = null):PopUpInfo { &amp;nbsp; var popUpInfo:PopUpInfo = new PopUpInfo(); &amp;nbsp; if (title) &amp;nbsp;&amp;nbsp;&amp;nbsp; popUpInfo.title = title;&amp;nbsp; &amp;nbsp; var popUpFieldInfos:Array = [];&amp;nbsp; &amp;nbsp; for each (var field:Field in fields) &amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp; var fieldInfo:PopUpFieldInfo = new PopUpFieldInfo(); &amp;nbsp;&amp;nbsp;&amp;nbsp; fieldInfo.fieldName = field.name; &amp;nbsp;&amp;nbsp;&amp;nbsp; fieldInfo.label = field.name; &amp;nbsp;&amp;nbsp;&amp;nbsp; fieldInfo.visible = true; &amp;nbsp;&amp;nbsp;&amp;nbsp; popUpFieldInfos.push(fieldInfo); &amp;nbsp; }&amp;nbsp; &amp;nbsp; popUpInfo.popUpFieldInfos = popUpFieldInfos;&amp;nbsp; &amp;nbsp; return popUpInfo; }&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Mar 2013 14:17:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/enable-default-popups-for-user-added-layer/m-p/690043#M21127</guid>
      <dc:creator>KennyHoran</dc:creator>
      <dc:date>2013-03-13T14:17:30Z</dc:date>
    </item>
    <item>
      <title>Re: Enable default popups for user added layer</title>
      <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/enable-default-popups-for-user-added-layer/m-p/690044#M21128</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks, that helped me get it to work.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Mar 2013 16:37:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/enable-default-popups-for-user-added-layer/m-p/690044#M21128</guid>
      <dc:creator>JoeJones</dc:creator>
      <dc:date>2013-03-13T16:37:01Z</dc:date>
    </item>
    <item>
      <title>Re: Enable default popups for user added layer</title>
      <link>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/enable-default-popups-for-user-added-layer/m-p/690045#M21129</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Kenny,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;saw this post, and have a similar need.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Having some issues trying to figure out what all imports are needed for this.&amp;nbsp; Any chance you could point me in the right direction?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;R_&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Mar 2013 23:37:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-viewer-for-flex-questions/enable-default-popups-for-user-added-layer/m-p/690045#M21129</guid>
      <dc:creator>RhettZufelt</dc:creator>
      <dc:date>2013-03-13T23:37:02Z</dc:date>
    </item>
  </channel>
</rss>

