<?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 Cannot make dynamic TabContainer in popupTemplate work API 4.19 in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cannot-make-dynamic-tabcontainer-in-popuptemplate/m-p/1047467#M72552</link>
    <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;I cannot figure out how to make dynamic TabContainer in popupTemplate work API 4.19&lt;/P&gt;&lt;P&gt;Here is the simplified code :&lt;/P&gt;&lt;LI-CODE lang="markup"&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;Test Tabs in Popup JS API 4&amp;lt;/title&amp;gt;
    &amp;lt;link rel="stylesheet" href="https://js.arcgis.com/4.19/esri/themes/light/main.css" /&amp;gt;
	&amp;lt;style&amp;gt;
		html,
		body,
		#viewDiv {
			padding: 0;
			margin: 0;
			height: 100%;
			width: 100%;
		}
	&amp;lt;/style&amp;gt;
   	&amp;lt;script src="https://js.arcgis.com/4.19/"&amp;gt;&amp;lt;/script&amp;gt;
    &amp;lt;script&amp;gt;
	var map;
	require(["esri/Map", "esri/views/MapView", "esri/layers/FeatureLayer", "esri/layers/TileLayer", "esri/geometry/Extent", "esri/geometry/Point", "esri/PopupTemplate", "esri/popup/content/CustomContent", "dojo/parser", "dojo/dom-construct", "dijit/registry", "dijit/layout/ContentPane", "dijit/layout/TabContainer"	],
	function(Map, MapView, FeatureLayer, TileLayer, Extent, Point, PopupTemplate, CustomContent,
	dojo_parser, dojo_dom_construct, dijit_registry, dijit_ContentPane, dijit_TabContainer)
	{
		var aLayerCapt = new FeatureLayer( "https://xxxCapt/FeatureServer/0" );
		addPopupTemplateData( aLayerCapt, "Captag");
		var aLayerCanal = new FeatureLayer( "https://xxxCanal/FeatureServer/0" );
		addPopupTemplateData( aLayerCanal "Canalisation");
		var aBasemapLayer = new TileLayer( "https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer" );
		var bounds  = new Extent({ "xmin":1.763102,"ymin":42.595217,"xmax":1.868647,"ymax":42.763970, spatialReference: { wkid: 4326 } });
		const map = new Map(
		{
		});
		const viewObject = new MapView(
		{
			container: "viewDiv",
			map: map,
			extent: bounds,
		});

		map.addMany([aBasemapLayer, aLayerCap, aLayerCanal]);

		function addPopupTemplateData( aLayer, title )
		{
			console.log("addPopupTemplateData = " + title);
			const contentWidget = new CustomContent(
			{
				outFields: ["*"],
				creator: getTextContent
			});
			const template = new PopupTemplate(//Set containing of infoWindow
			{
				content: [contentWidget],
				title: title
			});
			aLayer.popupTemplate = template;
		}

		function getTextContent (  graphic )
		{
			var html = "This feature is : " + graphic.graphic.attributes["IDT"];
			var tc = new dijit_TabContainer
			(
				{
					id: 'id_dijit_TabContainer',
					style: "height: 100%; width: 100%;",
					containerNode : "viewDiv"
				}, dojo_dom_construct.create("div" )
			);
			var cp1 = new dijit_ContentPane({
				title: 'Details 1',
				content: "Content pane 1"
			});
			var cp2 = new dijit_ContentPane({
				title: 'Details 2',
				content: "Content pane 2"
			});

			tc.addChild(cp1);
			tc.addChild(cp2);
			//dojo_parser.parse();
			tc.startup();
			return tc.domNode;
		}

	});
    &amp;lt;/script&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;div id="viewDiv"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;The result of a click on a feature gives the two tabs contents being displayed in line one&amp;nbsp; above the other, but with no tabs effects at all. If there are more than one feature, the subsequent features are empty.&lt;/P&gt;&lt;P&gt;This used to work fine in 3.x, and we are currently upgrading to API 4.x,&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;</description>
    <pubDate>Thu, 15 Apr 2021 10:13:07 GMT</pubDate>
    <dc:creator>ChristopheS</dc:creator>
    <dc:date>2021-04-15T10:13:07Z</dc:date>
    <item>
      <title>Cannot make dynamic TabContainer in popupTemplate work API 4.19</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cannot-make-dynamic-tabcontainer-in-popuptemplate/m-p/1047467#M72552</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;I cannot figure out how to make dynamic TabContainer in popupTemplate work API 4.19&lt;/P&gt;&lt;P&gt;Here is the simplified code :&lt;/P&gt;&lt;LI-CODE lang="markup"&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;Test Tabs in Popup JS API 4&amp;lt;/title&amp;gt;
    &amp;lt;link rel="stylesheet" href="https://js.arcgis.com/4.19/esri/themes/light/main.css" /&amp;gt;
	&amp;lt;style&amp;gt;
		html,
		body,
		#viewDiv {
			padding: 0;
			margin: 0;
			height: 100%;
			width: 100%;
		}
	&amp;lt;/style&amp;gt;
   	&amp;lt;script src="https://js.arcgis.com/4.19/"&amp;gt;&amp;lt;/script&amp;gt;
    &amp;lt;script&amp;gt;
	var map;
	require(["esri/Map", "esri/views/MapView", "esri/layers/FeatureLayer", "esri/layers/TileLayer", "esri/geometry/Extent", "esri/geometry/Point", "esri/PopupTemplate", "esri/popup/content/CustomContent", "dojo/parser", "dojo/dom-construct", "dijit/registry", "dijit/layout/ContentPane", "dijit/layout/TabContainer"	],
	function(Map, MapView, FeatureLayer, TileLayer, Extent, Point, PopupTemplate, CustomContent,
	dojo_parser, dojo_dom_construct, dijit_registry, dijit_ContentPane, dijit_TabContainer)
	{
		var aLayerCapt = new FeatureLayer( "https://xxxCapt/FeatureServer/0" );
		addPopupTemplateData( aLayerCapt, "Captag");
		var aLayerCanal = new FeatureLayer( "https://xxxCanal/FeatureServer/0" );
		addPopupTemplateData( aLayerCanal "Canalisation");
		var aBasemapLayer = new TileLayer( "https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer" );
		var bounds  = new Extent({ "xmin":1.763102,"ymin":42.595217,"xmax":1.868647,"ymax":42.763970, spatialReference: { wkid: 4326 } });
		const map = new Map(
		{
		});
		const viewObject = new MapView(
		{
			container: "viewDiv",
			map: map,
			extent: bounds,
		});

		map.addMany([aBasemapLayer, aLayerCap, aLayerCanal]);

		function addPopupTemplateData( aLayer, title )
		{
			console.log("addPopupTemplateData = " + title);
			const contentWidget = new CustomContent(
			{
				outFields: ["*"],
				creator: getTextContent
			});
			const template = new PopupTemplate(//Set containing of infoWindow
			{
				content: [contentWidget],
				title: title
			});
			aLayer.popupTemplate = template;
		}

		function getTextContent (  graphic )
		{
			var html = "This feature is : " + graphic.graphic.attributes["IDT"];
			var tc = new dijit_TabContainer
			(
				{
					id: 'id_dijit_TabContainer',
					style: "height: 100%; width: 100%;",
					containerNode : "viewDiv"
				}, dojo_dom_construct.create("div" )
			);
			var cp1 = new dijit_ContentPane({
				title: 'Details 1',
				content: "Content pane 1"
			});
			var cp2 = new dijit_ContentPane({
				title: 'Details 2',
				content: "Content pane 2"
			});

			tc.addChild(cp1);
			tc.addChild(cp2);
			//dojo_parser.parse();
			tc.startup();
			return tc.domNode;
		}

	});
    &amp;lt;/script&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;div id="viewDiv"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;The result of a click on a feature gives the two tabs contents being displayed in line one&amp;nbsp; above the other, but with no tabs effects at all. If there are more than one feature, the subsequent features are empty.&lt;/P&gt;&lt;P&gt;This used to work fine in 3.x, and we are currently upgrading to API 4.x,&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;</description>
      <pubDate>Thu, 15 Apr 2021 10:13:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cannot-make-dynamic-tabcontainer-in-popuptemplate/m-p/1047467#M72552</guid>
      <dc:creator>ChristopheS</dc:creator>
      <dc:date>2021-04-15T10:13:07Z</dc:date>
    </item>
  </channel>
</rss>

