<?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: InfoWindow + TabContainer in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/infowindow-tabcontainer/m-p/683015#M63587</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;First of all thanks for your reply,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;i put my InfoWindow code before. I don't use the popup. This InfoWindow was provided by ESRI to us, im not sure if the original is similar.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My map has an applet and i call the 'insertIncident' function from JAVA application once the map has been intialized.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 30 Apr 2012 13:19:42 GMT</pubDate>
    <dc:creator>BorjaSancho</dc:creator>
    <dc:date>2012-04-30T13:19:42Z</dc:date>
    <item>
      <title>InfoWindow + TabContainer</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/infowindow-tabcontainer/m-p/683013#M63585</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm trying to use a TabContainer in my own InfoWindow and it doesn't work. I'll show my code. I'm using dojo toolkit 1.6&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;
--------------------- My InfoWindow.js----------------------
dojo.provide("gvdi.InfoWindow");

dojo.require("esri.InfoWindowBase");
dojo.require("dojo.fx");
/***************
 * MyInfoWindow
 ***************/
dojo.declare("gvdi.InfoWindow", [ esri.InfoWindowBase ], {
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; constructor: function(parameters) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.mixin(this, parameters);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; isContentShowing: false;

&amp;nbsp;&amp;nbsp;&amp;nbsp; isContentShowing: true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; isMouseOver: false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; isMouseClick: false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.addClass(this.domNode, "myInfoWindow");

&amp;nbsp;&amp;nbsp;&amp;nbsp; this._closeButton = dojo.create("div", { "class": "close", title: "Cerrar" }, this.domNode);
&amp;nbsp;&amp;nbsp;&amp;nbsp; this._title = dojo.create("div", { "class": "title" }, this.domNode);
&amp;nbsp;&amp;nbsp;&amp;nbsp; this._content = dojo.create("div", { "class": "content" }, this.domNode);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; this._toggleButton = dojo.create("div",{"class": "toggleOpen", title:"Expandir"},this.domNode);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var toggler = new dojo.fx.Toggler({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; node: this._content,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showFunc: dojo.fx.wipeIn,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hideFunc: dojo.fx.wipeOut
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toggler.hide();

&amp;nbsp;&amp;nbsp;&amp;nbsp; this._eventConnections = [
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.connect(this._closeButton, "onclick", this, function(){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.hide();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //hide the content when the window is closed so it displays in closed state next time it opens.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(this.isContentShowing){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toggler.hide();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isMouseOver = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isMouseClick = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isContentShowing = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.removeClass(this._toggleButton);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.addClass(this._toggleButton,"toggleOpen");
&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; dojo.connect(this._toggleButton,"onclick",this,function(){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //animate the display of content
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(this.isContentShowing){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toggler.hide();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isContentShowing = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.removeClass(this._toggleButton);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.addClass(this._toggleButton,"toggleOpen");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }else{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toggler.show();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isContentShowing=true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.removeClass(this._toggleButton);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.addClass(this._toggleButton,"toggleClose");&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; // Hidden initially
&amp;nbsp;&amp;nbsp;&amp;nbsp; esri.hide(this.domNode);&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.isShowing = false;
&amp;nbsp; },
&amp;nbsp; 
&amp;nbsp; /*****************************************
&amp;nbsp;&amp;nbsp; * Override and implement methods defined&amp;nbsp; 
&amp;nbsp;&amp;nbsp; * by the base class: InfoWindowBase
&amp;nbsp;&amp;nbsp; *****************************************/

&amp;nbsp; setMap: function(map) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Run logic defined in the base class
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.inherited(arguments);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp; hide the info window when the user is focusing elsewhere.
&amp;nbsp;&amp;nbsp;&amp;nbsp; this._eventConnections.push(dojo.connect(map, "onPanStart", this, this.hide));
&amp;nbsp;&amp;nbsp;&amp;nbsp; this._eventConnections.push(dojo.connect(map, "onZoomStart", this, this.hide));
&amp;nbsp; },
&amp;nbsp; 
&amp;nbsp; setTitle: function(title) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.place(title, this._title);
&amp;nbsp; },
&amp;nbsp; 
&amp;nbsp; setContent: function(content) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.place(content, this._content);
&amp;nbsp; },
&amp;nbsp; 

&amp;nbsp; 
&amp;nbsp; show: function(location) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Is location specified in map coordinates?
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (location.spatialReference) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; location = this.map.toScreen(location);
&amp;nbsp;&amp;nbsp;&amp;nbsp; } 
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Position 10x10 pixels away from the 
&amp;nbsp;&amp;nbsp;&amp;nbsp; // requested location
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.style(this.domNode, {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; left: (location.x + 16) + "px",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; top: (location.y + 16) + "px"
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Display
&amp;nbsp;&amp;nbsp;&amp;nbsp; esri.show(this.domNode);
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isShowing = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.onShow();
&amp;nbsp; },
&amp;nbsp; hide: function() {
&amp;nbsp;&amp;nbsp;&amp;nbsp; esri.hide(this.domNode);
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isMouseClick = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isShowing = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.onHide();
&amp;nbsp; },
&amp;nbsp; 
&amp;nbsp; resize: function(width, height) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.style(this._content, {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width: width + "px",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; height: height + "px"
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.style(this._title,{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width: width + "px"
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp; },
&amp;nbsp; 
&amp;nbsp; /************************************
&amp;nbsp;&amp;nbsp; * Defining some methods specific to
&amp;nbsp;&amp;nbsp; * my info window
&amp;nbsp;&amp;nbsp; ************************************/
&amp;nbsp; 
&amp;nbsp; destroy: function() {
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.forEach(this._eventConnections, dojo.disconnect);
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.destroy(this.domNode);
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isMouseClick = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; this._closeButton = this._title = this._content = this._eventConnections = null;
&amp;nbsp; },
&amp;nbsp; 
&amp;nbsp; mostrarExtendido: function(){
 esri.show(this._content);
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isContentShowing=true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.removeClass(this._toggleButton);
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.addClass(this._toggleButton,"toggleClose"); 
&amp;nbsp; },
&amp;nbsp; 
&amp;nbsp; 
&amp;nbsp; setMouseOver: function(mouseOver) {
&amp;nbsp;&amp;nbsp; this.isMouseOver = mouseOver;
&amp;nbsp; },
&amp;nbsp; getMouseOver: function() {
&amp;nbsp;&amp;nbsp; return this.isMouseOver;
&amp;nbsp; },
&amp;nbsp; setMouseClick: function(mouseClick) {
&amp;nbsp;&amp;nbsp; this.isMouseClick = mouseClick;
&amp;nbsp; },
&amp;nbsp; getMouseClick: function() {
&amp;nbsp;&amp;nbsp; return this.isMouseClick;
&amp;nbsp; },
&amp;nbsp; 
&amp;nbsp; mostrarReducido: function(){
 esri.hide(this._content);
 this.isContentShowing=false;
 dojo.removeClass(this._toggleButton);
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.addClass(this._toggleButton,"toggleOpen");
&amp;nbsp; }
&amp;nbsp; 
});

--------------------------- End InfoWindow.js--------------------------

&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;

function insertIncident(id,tactica,xPos,yPos,estado,areaOp){
 
 var geo = new esri.geometry.Point(xPos,yPos,new esri.SpatialReference({ wkid: 25830 }));
 var ip = new esri.Graphic(geo, null);
 
 var attr = {"xPos":xPos,"yPos":yPos,"id":id,"tactica":tactica,"estado":estado,"areaOp":areaOp};
 
 ip.setAttributes(attr);
 
 var infoTemplate = new esri.InfoTemplate("${id} &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nbsp","" +
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;lt;strong&amp;gt;ID:&amp;lt;/strong&amp;gt; &amp;nbsp;&amp;nbsp; ${id}&amp;lt;br/&amp;gt;" +
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;lt;strong&amp;gt;Tactica:&amp;lt;/strong&amp;gt; &amp;nbsp;&amp;nbsp; ${tactica}&amp;lt;br/&amp;gt;" + 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;lt;strong&amp;gt;Area op:&amp;lt;/strong&amp;gt; &amp;nbsp;&amp;nbsp; ${areaOp}&amp;lt;br/&amp;gt;");&amp;nbsp;&amp;nbsp; 
 
 ip.setInfoTemplate(infoTemplate);
 
 //TODO: cambiar la gestion del icono a constantes java
 var icon = "";
 if (estado == "ACT")
&amp;nbsp; icon = "./images/icons/incidverde.png";
 else if (estado == "TACT")
&amp;nbsp; icon = "./images/icons/incidgris.png";
 else if (estado == "APER")
&amp;nbsp; icon = "./images/icons/incidrojo.png";
 
 
 //Comprobamos si existe un punto con las mismas coordenadas para crear un InfoWindow normal o multiple
 if(xyPointExists(xPos,yPos)){
&amp;nbsp; icon = "./images/icons/bancosbn.png";
&amp;nbsp; 
&amp;nbsp; var template = new esri.InfoTemplate();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; template.setTitle("&amp;lt;b&amp;gt;&amp;nbsp; TITULO!!! &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nbsp&amp;lt;/b&amp;gt;");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; template.setContent(getWindowContent());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip.setInfoTemplate(template);
&amp;nbsp; 
&amp;nbsp; myMultipleInfoWindowXY(ip,icon);
 }else{
&amp;nbsp; ....
 }
&amp;nbsp; ...
 
}


function getWindowContent(){
 
 var tc = new dijit.layout.TabContainer({
&amp;nbsp; style: "height: 100%; width: 150px;"
 }, dojo.create("div"));
 
 var cp1 = new dijit.layout.ContentPane({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; title: "Details",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; content: "sdafsadf&amp;lt;br&amp;gt;2355345&amp;lt;br&amp;gt;"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
 
 var cp2 = new dijit.layout.ContentPane({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; title: "Details",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; content: "34523453&amp;lt;br&amp;gt;2355345&amp;lt;br&amp;gt;"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
 
&amp;nbsp;&amp;nbsp; tc.addChild(cp1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tc.addChild(cp2);

&amp;nbsp;&amp;nbsp; return tc.domNode;
}

function myMultipleInfoWindowXY(elemento,icono){
 try{
&amp;nbsp; var imageSymbol = new Image();
&amp;nbsp; var point;
&amp;nbsp; 
&amp;nbsp; imageSymbol.src = icono;
&amp;nbsp; 
&amp;nbsp; gvdiDefaultMap.graphics.add(elemento.setSymbol(esri.symbol.PictureMarkerSymbol(icono,imageSymbol.width,imageSymbol.height)));
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; dojo.connect(gvdiDefaultMap.graphics, "onClick", function(evt) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var g = evt.graphic;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvdiDefaultMap.infoWindow.setMouseOver(false);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvdiDefaultMap.infoWindow.setMouseClick(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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //gvdiDefaultMap.infoWindow.setContent(g.getContent());&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Also tried this
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvdiDefaultMap.infoWindow.setContent(getWindowContent());
&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; gvdiDefaultMap.infoWindow.setTitle(g.getTitle());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvdiDefaultMap.infoWindow.show(evt.screenPoint,gvdiDefaultMap.getInfoWindowAnchor(evt.screenPoint));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp; 
&amp;nbsp; dojo.connect(gvdiDefaultMap.graphics, "onMouseMove", function(evt) {
&amp;nbsp;&amp;nbsp; if(!gvdiDefaultMap.infoWindow.getMouseClick()){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var g = evt.graphic;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvdiDefaultMap.infoWindow.setMouseOver(true);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvdiDefaultMap.infoWindow.setContent(g.getContent());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvdiDefaultMap.infoWindow.setTitle(g.getTitle());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvdiDefaultMap.infoWindow.show(evt.screenPoint,gvdiDefaultMap.getInfoWindowAnchor(evt.screenPoint));
&amp;nbsp;&amp;nbsp; }&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp; 
&amp;nbsp; dojo.connect(gvdiDefaultMap.graphics, "onMouseOut", function() {
&amp;nbsp;&amp;nbsp; if(gvdiDefaultMap.infoWindow.getMouseOver() &amp;amp;&amp;amp; !gvdiDefaultMap.infoWindow.getMouseClick())
&amp;nbsp;&amp;nbsp;&amp;nbsp; gvdiDefaultMap.infoWindow.hide();
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; } );
&amp;nbsp;&amp;nbsp; 
 }catch(error){
&amp;nbsp; mostrarError("gvdiApEstDivMedShowInfoWindowXY "+error);
 }
}

&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And this is the result:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[ATTACH=CONFIG]13925[/ATTACH]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Need help please!!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank a lot.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Apr 2012 11:19:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/infowindow-tabcontainer/m-p/683013#M63585</guid>
      <dc:creator>BorjaSancho</dc:creator>
      <dc:date>2012-04-30T11:19:01Z</dc:date>
    </item>
    <item>
      <title>Re: InfoWindow + TabContainer</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/infowindow-tabcontainer/m-p/683014#M63586</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Hi all,&lt;BR /&gt;&lt;BR /&gt;I'm trying to use a TabContainer in my own InfoWindow and it doesn't work. I'll show my code. I'm using dojo toolkit 1.6&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
--------------------- My InfoWindow.js----------------------
dojo.provide("gvdi.InfoWindow");

dojo.require("esri.InfoWindowBase");
dojo.require("dojo.fx");
/***************
 * MyInfoWindow
 ***************/
dojo.declare("gvdi.InfoWindow", [ esri.InfoWindowBase ], {
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; constructor: function(parameters) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.mixin(this, parameters);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; isContentShowing: false;

&amp;nbsp;&amp;nbsp;&amp;nbsp; isContentShowing: true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; isMouseOver: false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; isMouseClick: false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.addClass(this.domNode, "myInfoWindow");

&amp;nbsp;&amp;nbsp;&amp;nbsp; this._closeButton = dojo.create("div", { "class": "close", title: "Cerrar" }, this.domNode);
&amp;nbsp;&amp;nbsp;&amp;nbsp; this._title = dojo.create("div", { "class": "title" }, this.domNode);
&amp;nbsp;&amp;nbsp;&amp;nbsp; this._content = dojo.create("div", { "class": "content" }, this.domNode);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; this._toggleButton = dojo.create("div",{"class": "toggleOpen", title:"Expandir"},this.domNode);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var toggler = new dojo.fx.Toggler({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; node: this._content,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showFunc: dojo.fx.wipeIn,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hideFunc: dojo.fx.wipeOut
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toggler.hide();

&amp;nbsp;&amp;nbsp;&amp;nbsp; this._eventConnections = [
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.connect(this._closeButton, "onclick", this, function(){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.hide();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //hide the content when the window is closed so it displays in closed state next time it opens.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(this.isContentShowing){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toggler.hide();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isMouseOver = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isMouseClick = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isContentShowing = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.removeClass(this._toggleButton);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.addClass(this._toggleButton,"toggleOpen");
&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; dojo.connect(this._toggleButton,"onclick",this,function(){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //animate the display of content
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(this.isContentShowing){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toggler.hide();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isContentShowing = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.removeClass(this._toggleButton);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.addClass(this._toggleButton,"toggleOpen");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }else{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toggler.show();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isContentShowing=true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.removeClass(this._toggleButton);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.addClass(this._toggleButton,"toggleClose");&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; // Hidden initially
&amp;nbsp;&amp;nbsp;&amp;nbsp; esri.hide(this.domNode);&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.isShowing = false;
&amp;nbsp; },
&amp;nbsp; 
&amp;nbsp; /*****************************************
&amp;nbsp;&amp;nbsp; * Override and implement methods defined&amp;nbsp; 
&amp;nbsp;&amp;nbsp; * by the base class: InfoWindowBase
&amp;nbsp;&amp;nbsp; *****************************************/

&amp;nbsp; setMap: function(map) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Run logic defined in the base class
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.inherited(arguments);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp; hide the info window when the user is focusing elsewhere.
&amp;nbsp;&amp;nbsp;&amp;nbsp; this._eventConnections.push(dojo.connect(map, "onPanStart", this, this.hide));
&amp;nbsp;&amp;nbsp;&amp;nbsp; this._eventConnections.push(dojo.connect(map, "onZoomStart", this, this.hide));
&amp;nbsp; },
&amp;nbsp; 
&amp;nbsp; setTitle: function(title) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.place(title, this._title);
&amp;nbsp; },
&amp;nbsp; 
&amp;nbsp; setContent: function(content) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.place(content, this._content);
&amp;nbsp; },
&amp;nbsp; 

&amp;nbsp; 
&amp;nbsp; show: function(location) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Is location specified in map coordinates?
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (location.spatialReference) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; location = this.map.toScreen(location);
&amp;nbsp;&amp;nbsp;&amp;nbsp; } 
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Position 10x10 pixels away from the 
&amp;nbsp;&amp;nbsp;&amp;nbsp; // requested location
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.style(this.domNode, {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; left: (location.x + 16) + "px",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; top: (location.y + 16) + "px"
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Display
&amp;nbsp;&amp;nbsp;&amp;nbsp; esri.show(this.domNode);
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isShowing = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.onShow();
&amp;nbsp; },
&amp;nbsp; hide: function() {
&amp;nbsp;&amp;nbsp;&amp;nbsp; esri.hide(this.domNode);
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isMouseClick = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isShowing = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.onHide();
&amp;nbsp; },
&amp;nbsp; 
&amp;nbsp; resize: function(width, height) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.style(this._content, {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width: width + "px",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; height: height + "px"
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.style(this._title,{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; width: width + "px"
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp; },
&amp;nbsp; 
&amp;nbsp; /************************************
&amp;nbsp;&amp;nbsp; * Defining some methods specific to
&amp;nbsp;&amp;nbsp; * my info window
&amp;nbsp;&amp;nbsp; ************************************/
&amp;nbsp; 
&amp;nbsp; destroy: function() {
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.forEach(this._eventConnections, dojo.disconnect);
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.destroy(this.domNode);
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isMouseClick = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; this._closeButton = this._title = this._content = this._eventConnections = null;
&amp;nbsp; },
&amp;nbsp; 
&amp;nbsp; mostrarExtendido: function(){
 esri.show(this._content);
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.isContentShowing=true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.removeClass(this._toggleButton);
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.addClass(this._toggleButton,"toggleClose"); 
&amp;nbsp; },
&amp;nbsp; 
&amp;nbsp; 
&amp;nbsp; setMouseOver: function(mouseOver) {
&amp;nbsp;&amp;nbsp; this.isMouseOver = mouseOver;
&amp;nbsp; },
&amp;nbsp; getMouseOver: function() {
&amp;nbsp;&amp;nbsp; return this.isMouseOver;
&amp;nbsp; },
&amp;nbsp; setMouseClick: function(mouseClick) {
&amp;nbsp;&amp;nbsp; this.isMouseClick = mouseClick;
&amp;nbsp; },
&amp;nbsp; getMouseClick: function() {
&amp;nbsp;&amp;nbsp; return this.isMouseClick;
&amp;nbsp; },
&amp;nbsp; 
&amp;nbsp; mostrarReducido: function(){
 esri.hide(this._content);
 this.isContentShowing=false;
 dojo.removeClass(this._toggleButton);
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.addClass(this._toggleButton,"toggleOpen");
&amp;nbsp; }
&amp;nbsp; 
});

--------------------------- End InfoWindow.js--------------------------

&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;

function insertIncident(id,tactica,xPos,yPos,estado,areaOp){
 
 var geo = new esri.geometry.Point(xPos,yPos,new esri.SpatialReference({ wkid: 25830 }));
 var ip = new esri.Graphic(geo, null);
 
 var attr = {"xPos":xPos,"yPos":yPos,"id":id,"tactica":tactica,"estado":estado,"areaOp":areaOp};
 
 ip.setAttributes(attr);
 
 var infoTemplate = new esri.InfoTemplate("${id} &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nbsp","" +
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;lt;strong&amp;gt;ID:&amp;lt;/strong&amp;gt; &amp;nbsp;&amp;nbsp; ${id}&amp;lt;br/&amp;gt;" +
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;lt;strong&amp;gt;Tactica:&amp;lt;/strong&amp;gt; &amp;nbsp;&amp;nbsp; ${tactica}&amp;lt;br/&amp;gt;" + 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;lt;strong&amp;gt;Area op:&amp;lt;/strong&amp;gt; &amp;nbsp;&amp;nbsp; ${areaOp}&amp;lt;br/&amp;gt;");&amp;nbsp;&amp;nbsp; 
 
 ip.setInfoTemplate(infoTemplate);
 
 //TODO: cambiar la gestion del icono a constantes java
 var icon = "";
 if (estado == "ACT")
&amp;nbsp; icon = "./images/icons/incidverde.png";
 else if (estado == "TACT")
&amp;nbsp; icon = "./images/icons/incidgris.png";
 else if (estado == "APER")
&amp;nbsp; icon = "./images/icons/incidrojo.png";
 
 
 //Comprobamos si existe un punto con las mismas coordenadas para crear un InfoWindow normal o multiple
 if(xyPointExists(xPos,yPos)){
&amp;nbsp; icon = "./images/icons/bancosbn.png";
&amp;nbsp; 
&amp;nbsp; var template = new esri.InfoTemplate();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; template.setTitle("&amp;lt;b&amp;gt;&amp;nbsp; TITULO!!! &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nbsp&amp;lt;/b&amp;gt;");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; template.setContent(getWindowContent());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip.setInfoTemplate(template);
&amp;nbsp; 
&amp;nbsp; myMultipleInfoWindowXY(ip,icon);
 }else{
&amp;nbsp; ....
 }
&amp;nbsp; ...
 
}


function getWindowContent(){
 
 var tc = new dijit.layout.TabContainer({
&amp;nbsp; style: "height: 100%; width: 150px;"
 }, dojo.create("div"));
 
 var cp1 = new dijit.layout.ContentPane({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; title: "Details",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; content: "sdafsadf&amp;lt;br&amp;gt;2355345&amp;lt;br&amp;gt;"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
 
 var cp2 = new dijit.layout.ContentPane({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; title: "Details",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; content: "34523453&amp;lt;br&amp;gt;2355345&amp;lt;br&amp;gt;"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
 
&amp;nbsp;&amp;nbsp; tc.addChild(cp1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tc.addChild(cp2);

&amp;nbsp;&amp;nbsp; return tc.domNode;
}

function myMultipleInfoWindowXY(elemento,icono){
 try{
&amp;nbsp; var imageSymbol = new Image();
&amp;nbsp; var point;
&amp;nbsp; 
&amp;nbsp; imageSymbol.src = icono;
&amp;nbsp; 
&amp;nbsp; gvdiDefaultMap.graphics.add(elemento.setSymbol(esri.symbol.PictureMarkerSymbol(icono,imageSymbol.width,imageSymbol.height)));
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; dojo.connect(gvdiDefaultMap.graphics, "onClick", function(evt) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var g = evt.graphic;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvdiDefaultMap.infoWindow.setMouseOver(false);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvdiDefaultMap.infoWindow.setMouseClick(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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //gvdiDefaultMap.infoWindow.setContent(g.getContent());&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Also tried this
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvdiDefaultMap.infoWindow.setContent(getWindowContent());
&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; gvdiDefaultMap.infoWindow.setTitle(g.getTitle());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvdiDefaultMap.infoWindow.show(evt.screenPoint,gvdiDefaultMap.getInfoWindowAnchor(evt.screenPoint));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp; 
&amp;nbsp; dojo.connect(gvdiDefaultMap.graphics, "onMouseMove", function(evt) {
&amp;nbsp;&amp;nbsp; if(!gvdiDefaultMap.infoWindow.getMouseClick()){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var g = evt.graphic;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvdiDefaultMap.infoWindow.setMouseOver(true);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvdiDefaultMap.infoWindow.setContent(g.getContent());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvdiDefaultMap.infoWindow.setTitle(g.getTitle());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvdiDefaultMap.infoWindow.show(evt.screenPoint,gvdiDefaultMap.getInfoWindowAnchor(evt.screenPoint));
&amp;nbsp;&amp;nbsp; }&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp; 
&amp;nbsp; dojo.connect(gvdiDefaultMap.graphics, "onMouseOut", function() {
&amp;nbsp;&amp;nbsp; if(gvdiDefaultMap.infoWindow.getMouseOver() &amp;amp;&amp;amp; !gvdiDefaultMap.infoWindow.getMouseClick())
&amp;nbsp;&amp;nbsp;&amp;nbsp; gvdiDefaultMap.infoWindow.hide();
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; } );
&amp;nbsp;&amp;nbsp; 
 }catch(error){
&amp;nbsp; mostrarError("gvdiApEstDivMedShowInfoWindowXY "+error);
 }
}

&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;And this is the result:&lt;BR /&gt;&lt;BR /&gt;[ATTACH=CONFIG]13925[/ATTACH]&lt;BR /&gt;&lt;BR /&gt;Need help please!!!&lt;BR /&gt;&lt;BR /&gt;Thank a lot.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Let me guess...you replaced the default infoWindow with an esri.dijit.popup, then tried adding tab to the dijit.popup?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've been trying this for a month now to no avail. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;By replacing infoWindow, I mean like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
var popup = new esri.dijit.Popup({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fillSymbol: new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255,0,0]), 2), new dojo.Color([255,255,0,0.25]))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, dojo.create("div"));
map = new esri.Map("map", {extent: startExtent,infoWindow:popup});
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 04:44:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/infowindow-tabcontainer/m-p/683014#M63586</guid>
      <dc:creator>danbecker</dc:creator>
      <dc:date>2021-12-12T04:44:26Z</dc:date>
    </item>
    <item>
      <title>Re: InfoWindow + TabContainer</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/infowindow-tabcontainer/m-p/683015#M63587</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;First of all thanks for your reply,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;i put my InfoWindow code before. I don't use the popup. This InfoWindow was provided by ESRI to us, im not sure if the original is similar.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My map has an applet and i call the 'insertIncident' function from JAVA application once the map has been intialized.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Apr 2012 13:19:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/infowindow-tabcontainer/m-p/683015#M63587</guid>
      <dc:creator>BorjaSancho</dc:creator>
      <dc:date>2012-04-30T13:19:42Z</dc:date>
    </item>
    <item>
      <title>Re: InfoWindow + TabContainer</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/infowindow-tabcontainer/m-p/683016#M63588</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I couldnt get them working either, and ended up using jQuery tabs.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Apr 2012 15:23:51 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/infowindow-tabcontainer/m-p/683016#M63588</guid>
      <dc:creator>JeffPace</dc:creator>
      <dc:date>2012-04-30T15:23:51Z</dc:date>
    </item>
    <item>
      <title>Re: InfoWindow + TabContainer</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/infowindow-tabcontainer/m-p/683017#M63589</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Bsancho,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the info window you are using the content area isn't visible when the tab container is rendered which can cause layout issues for the tab container widget.You can call the tab container resize method to properly render the tab container when the window is displayed or the toggle button is clicked. I added this code to the init function:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.connect(infoWindow,'onShow',function(){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dijit.byId("myTabCont").resize();
&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; dojo.connect(infoWindow._toggleButton,'onclick',function(){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dijit.byId("myTabCont").resize();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And here's the code that creates the tab container&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt; function getTextContent(graphic) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(dijit.byId('myTabCont')){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dijit.byId('myTabCont').destroy();
&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 tc = new dijit.layout.TabContainer({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id:'myTabCont',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; style:'width:180px;height:150px;',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },dojo.create('div'));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var pane1 = new dijit.layout.ContentPane({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; title:'Pane 1',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; content:'Tree ID: ' + graphic.attributes.TreeID
&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 pane2 = new dijit.layout.ContentPane({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; title:'Pane 2',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; content:'&amp;lt;i&amp;gt;' + graphic.attributes.CommonName + ' , ' + graphic.attributes.qAddress + '&amp;lt;/i&amp;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;&amp;nbsp; tc.addChild(pane1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tc.addChild(pane2);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tc.startup();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return tc.domNode;
&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 04:44:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/infowindow-tabcontainer/m-p/683017#M63589</guid>
      <dc:creator>KellyHutchins</dc:creator>
      <dc:date>2021-12-12T04:44:29Z</dc:date>
    </item>
    <item>
      <title>Re: InfoWindow + TabContainer</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/infowindow-tabcontainer/m-p/683018#M63590</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you Kelly, it works!!!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 May 2012 12:43:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/infowindow-tabcontainer/m-p/683018#M63590</guid>
      <dc:creator>BorjaSancho</dc:creator>
      <dc:date>2012-05-02T12:43:28Z</dc:date>
    </item>
    <item>
      <title>Re: InfoWindow + TabContainer</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/infowindow-tabcontainer/m-p/683019#M63591</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Kelly!! I've been searching for this answer for awhile!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 May 2012 15:51:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/infowindow-tabcontainer/m-p/683019#M63591</guid>
      <dc:creator>danbecker</dc:creator>
      <dc:date>2012-05-02T15:51:33Z</dc:date>
    </item>
  </channel>
</rss>

