<?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 InfoTemplate inside InfoWindow with multiple service layers in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/infotemplate-inside-infowindow-with-multiple/m-p/324740#M29929</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have implemented the InfoWindow with TabContainer to work with my InfoTemplate which, when my layer is identified works beautifully with the custom attributes that I have set up.&amp;nbsp; However, when trying to implement a second InfoTemplate, the result is blank.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I know that I am missing a function somewhere which will allow the reading of multiple service layers but I'm not sure which to implement and how to implement it&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;

 var infoWindow = new InfoWindow(null, domConstruct.create("div"));
 infoWindow.startup();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map = new Map("map", {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; center: [-119.152, 50.40],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zoom: 8,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; basemap: "topo",
&amp;nbsp; infoWindow: infoWindow
&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp; map.infoWindow.resize(300,300);

 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var home = new HomeButton({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map: map
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, "HomeButton");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; home.startup();

&amp;nbsp;&amp;nbsp; var scalebar = new Scalebar({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map: map,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // "dual" displays both miles and kilmometers
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // "english" is the default, which displays miles
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // use "metric" for kilometers
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; scalebarUnit: "metric"
&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var toggle = new BaseMapToggle({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map: map,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; basemap: "hybrid",
&amp;nbsp; bingMapsKey: "As1ihAUhwYD1Q583Ka6RLQZjMHV85t9Zve6xQJePqmmPTStjNlR5FJmGWEj5xdLJ"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, "BaseMapToggle");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toggle.startup();

 map.on("zoom-end", showScale);
 map.on("load", showScale);

 function numberWithCommas(x) {
&amp;nbsp; return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
 }
 function showScale(evt){
 var ms = map.getScale()
 dojo.byId("scaleText").innerHTML = "&amp;lt;center&amp;gt;&amp;lt;b&amp;gt;Scale&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;1:" + numberWithCommas(ms.toFixed(0));
 }
 

//#########################################################################################################################################
//Create info template to hold the content inside
var vliTemplate = new InfoTemplate();
vliTemplate.setTitle("VLI");
vliTemplate.setContent(getWindowContent);

function getWindowContent(graphic) {
//make a tab container
var tc1 = new TabContainer({
style:"width:100%;height:100%;",
useMenu: false,
useSlider:false,
}, dojo.create("div"));

ar cp1vli = new ContentPane({
//add content to identity popup based on attributes of layer service
title: "Current",
content: "&amp;lt;b&amp;gt;VLI Number:&amp;lt;/b&amp;gt;&amp;lt;td&amp;gt;"+graphic.attributes.VLI_VLI_NO+"&amp;lt;/tr&amp;gt;&amp;lt;/td&amp;gt;"
});

var cp2vli = new ContentPane({
title: "Approved",
content: "&amp;lt;b&amp;gt;VLI Number:&amp;lt;/b&amp;gt;&amp;lt;td&amp;gt;"+graphic.attributes.VLI_NO+"&amp;lt;/tr&amp;gt;&amp;lt;/td&amp;gt;"
});
tc1.addChild(cp1vli);
tc1.addChild(cp2vli);
return tc1.domNode;
}

//Second InfoTemplate would be placed under here, assumably set up the same way but changing the variables so that they are not exactly the same as the previous one
&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have looked at a ton of templates but so far I can't figure out which one is the right one or how to implement them into my code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 30 May 2014 15:55:27 GMT</pubDate>
    <dc:creator>ShelleyDesautels1</dc:creator>
    <dc:date>2014-05-30T15:55:27Z</dc:date>
    <item>
      <title>InfoTemplate inside InfoWindow with multiple service layers</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/infotemplate-inside-infowindow-with-multiple/m-p/324740#M29929</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have implemented the InfoWindow with TabContainer to work with my InfoTemplate which, when my layer is identified works beautifully with the custom attributes that I have set up.&amp;nbsp; However, when trying to implement a second InfoTemplate, the result is blank.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I know that I am missing a function somewhere which will allow the reading of multiple service layers but I'm not sure which to implement and how to implement it&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;

 var infoWindow = new InfoWindow(null, domConstruct.create("div"));
 infoWindow.startup();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map = new Map("map", {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; center: [-119.152, 50.40],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zoom: 8,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; basemap: "topo",
&amp;nbsp; infoWindow: infoWindow
&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp; map.infoWindow.resize(300,300);

 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var home = new HomeButton({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map: map
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, "HomeButton");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; home.startup();

&amp;nbsp;&amp;nbsp; var scalebar = new Scalebar({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map: map,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // "dual" displays both miles and kilmometers
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // "english" is the default, which displays miles
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // use "metric" for kilometers
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; scalebarUnit: "metric"
&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var toggle = new BaseMapToggle({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map: map,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; basemap: "hybrid",
&amp;nbsp; bingMapsKey: "As1ihAUhwYD1Q583Ka6RLQZjMHV85t9Zve6xQJePqmmPTStjNlR5FJmGWEj5xdLJ"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, "BaseMapToggle");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toggle.startup();

 map.on("zoom-end", showScale);
 map.on("load", showScale);

 function numberWithCommas(x) {
&amp;nbsp; return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
 }
 function showScale(evt){
 var ms = map.getScale()
 dojo.byId("scaleText").innerHTML = "&amp;lt;center&amp;gt;&amp;lt;b&amp;gt;Scale&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;1:" + numberWithCommas(ms.toFixed(0));
 }
 

//#########################################################################################################################################
//Create info template to hold the content inside
var vliTemplate = new InfoTemplate();
vliTemplate.setTitle("VLI");
vliTemplate.setContent(getWindowContent);

function getWindowContent(graphic) {
//make a tab container
var tc1 = new TabContainer({
style:"width:100%;height:100%;",
useMenu: false,
useSlider:false,
}, dojo.create("div"));

ar cp1vli = new ContentPane({
//add content to identity popup based on attributes of layer service
title: "Current",
content: "&amp;lt;b&amp;gt;VLI Number:&amp;lt;/b&amp;gt;&amp;lt;td&amp;gt;"+graphic.attributes.VLI_VLI_NO+"&amp;lt;/tr&amp;gt;&amp;lt;/td&amp;gt;"
});

var cp2vli = new ContentPane({
title: "Approved",
content: "&amp;lt;b&amp;gt;VLI Number:&amp;lt;/b&amp;gt;&amp;lt;td&amp;gt;"+graphic.attributes.VLI_NO+"&amp;lt;/tr&amp;gt;&amp;lt;/td&amp;gt;"
});
tc1.addChild(cp1vli);
tc1.addChild(cp2vli);
return tc1.domNode;
}

//Second InfoTemplate would be placed under here, assumably set up the same way but changing the variables so that they are not exactly the same as the previous one
&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have looked at a ton of templates but so far I can't figure out which one is the right one or how to implement them into my code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 May 2014 15:55:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/infotemplate-inside-infowindow-with-multiple/m-p/324740#M29929</guid>
      <dc:creator>ShelleyDesautels1</dc:creator>
      <dc:date>2014-05-30T15:55:27Z</dc:date>
    </item>
  </channel>
</rss>

