function getTextContent(graphic) {     require (["dojox/xml/DomParser",        "dojox/xml/parser",        "dojo/date/locale",        "dijit/layout/ContentPane",        "dijit/layout/TabContainer"],     function (DomParser,parser,locale,       ContentPane,TabContainer) {                  if(dijit.byId('wscontpane')){            dijit.byId('wscontpane').destroy();        }        var partners = graphic.attributes.KNOWN_PARTNERS;        var estCompDate;        var estCost;              if (!graphic.attributes.ESTIMATED_COMPLETION_DATE == '') {             estCompDate = new Date(graphic.attributes.ESTIMATED_COMPLETION_DATE);            estCompDate = locale.format(estCompDate, {               selector: 'date',               datePattern: 'MMMM d, y'             });         }         else {             estCompDate = '';         }             if (!graphic.attributes.ESSENTIAL_PROJECT_EST_COST == '') {              estCost = '$' + dojo.number.format(graphic.attributes.ESSENTIAL_PROJECT_EST_COST)         }         else {            estCost = '';         }                  var jsdom = DomParser.parse(partners);         //console.debug(jsdom);              var docNode = jsdom.documentElement;          partners = "";         if (docNode) {             var nodestoprocess = docNode.childNodes;             for (var i = 0; i < nodestoprocess.length; i++) {                 partners += parser.textContent(docNode.childNodes.childNodes[0]) +                 "<br/>" ;            }         }              lscapp.cp = new ContentPane({          id: 'wscontpane',          isContainer:true,          content:'<b>' + graphic.attributes.FOREST_NAME + '</b><br />' +             '<b>' + graphic.attributes.WATERSHED_NAME + '<hr>'},          dojo.create('div'));         var tc = new TabContainer({            id:'wsTabCont',            style: 'width:350px;height:264px;line-height:150%;' +            'font-family: Verdana,Arial,Helvetica,sans-serif;'},             dojo.create('div'));                      var pane1 = new ContentPane({            title:'Abstract',            id:'wstab1',            content:'<b>Watershed Code: </b>' + graphic.attributes.WATERSHED_CODE + '<br />' +               '<b>Total Acres: </b>' + dojo.number.format(graphic.attributes.TOTAL_WATERSHED_AREA_ACRES,               {places:0}) + '<br />' +               '<b>Forest Service Ownership: </b>' + graphic.attributes.FS_OWNERSHIP_PERCENT + '%<br />' +               '<b>Condition - Forest Service Area: </b>' +                graphic.attributes.WATERSHED_CONDITION_FS_AREA + '<br />' +              '<b>Year Identified: </b>' + graphic.attributes.YEAR_PRIORITY_IDENTIFIED + '<br />' +              '<b>Estimated Completion Date: </b>' + estCompDate + '<br />' +              '<b>Estimated Cost: </b>' + estCost                   });       dojo.addClass(pane1.domNode, "wstab");       var pane2 = new ContentPane({         title:'Conditions',         id:'wstab2',         content:'<b>Aquatic Habitat: </b>' + graphic.attributes.AQUATIC_HABITAT_CONDITION + '<br />' +             '<b>Aquatic Biota: </b>' + graphic.attributes.AQUATIC_BIOTA_CONDITION  + '<br />' +             '<b>Water Quality: </b>' + graphic.attributes.WATER_QUALITY_CONDITION + '<br />' +             '<b>Water Quantity: </b>' + graphic.attributes.WATER_QUANTITY_CONDITION + '<br />' +             '<b>Wetland Vegetation: </b>' +              graphic.attributes.RIPARIAN_WETLAND_VEG_CONDITION + '<br />' +             '<b>Forest Cover: </b>' + graphic.attributes.FOREST_COVER_CONDITION + '<br />' +             '<b>Forest Health: </b>' + graphic.attributes.FOREST_HEALTH_CONDITION + '<br />' +             '<b>Soil: </b>' + graphic.attributes.SOIL_CONDITION + '<br />' +             '<b>Roads and Trails: </b>' + graphic.attributes.ROADS_AND_TRAILS_CONDITION         });     dojo.addClass(pane2.domNode, "wstab");      var pane3 = new ContentPane({        title:'Justification',        id:'wstab3',        style:'line-height:125%; margin:10px',        content: graphic.attributes.SELECTION_NARRATIVE       });     dojo.addClass(pane3.domNode, "wstab");      var pane4 = new ContentPane({        title:'Partners',        id:'wstab4',        content: partners       });      dojo.addClass(pane4.domNode, "wstab");     tc.addChild(pane1);     tc.addChild(pane2);     tc.addChild(pane3);     tc.addChild(pane4);     tc.startup();     lscapp.cp.addChild(tc);     lscapp.cp.startup();             });       return lscapp.cp.domNode;Solved! Go to Solution.
var content = getTextContent(evt.graphic); wsDialog.setContent(content);  dojo.style(wsDialog.domNode, "opacity", 1.0);  dijit.popup.open({     popup: wsDialog,     x:evt.pageX,     y:evt.pageY }); getTextContent(evt.graphic,function() {     wsDialog.setContent(lscapp.cp.domNode);      dojo.style(wsDialog.domNode, "opacity", 1.0);      dijit.popup.open({         popup: wsDialog,         x:evt.pageX,         y:evt.pageY     });  });function getTextContent(graphic,callback) {     require (["dojox/xml/DomParser",        "dojox/xml/parser",        "dojo/date/locale",        "dijit/layout/ContentPane",        "dijit/layout/TabContainer"],     function (DomParser,parser,locale,       ContentPane,TabContainer) {               ...      /* content pane and tab container building     code removed */     ...          lscapp.cp.startup();     callback();              });   }function getTextContent(graphic) {
    require (["dojox/xml/DomParser",
       "dojox/xml/parser",
       "dojo/date/locale",
       "dijit/layout/ContentPane",
       "dijit/layout/TabContainer"], 
   function (DomParser,parser,locale,
      ContentPane,TabContainer) { 
        
       if(dijit.byId('wscontpane')){
           dijit.byId('wscontpane').destroy();
       }
       var partners = graphic.attributes.KNOWN_PARTNERS;
       var estCompDate;
       var estCost;
     
       if (!graphic.attributes.ESTIMATED_COMPLETION_DATE == '') { 
           estCompDate = new Date(graphic.attributes.ESTIMATED_COMPLETION_DATE);
           estCompDate = locale.format(estCompDate, {
              selector: 'date',
              datePattern: 'MMMM d, y' 
           });
        }
        else {
            estCompDate = '';
        }
   
        if (!graphic.attributes.ESSENTIAL_PROJECT_EST_COST == '') { 
            estCost = '$' + dojo.number.format(graphic.attributes.ESSENTIAL_PROJECT_EST_COST)
        }
        else {
           estCost = '';
        }
   
    
        var jsdom = DomParser.parse(partners);
        //console.debug(jsdom);
    
        var docNode = jsdom.documentElement; 
        partners = "";
        if (docNode) {
            var nodestoprocess = docNode.childNodes;
            for (var i = 0; i < nodestoprocess.length; i++) {
                partners += parser.textContent(docNode.childNodes.childNodes[0]) +
                "<br/>" ;
           }
        }
     
       lscapp.cp = new ContentPane({
         id: 'wscontpane',
         isContainer:true,
         content:'<b>' + graphic.attributes.FOREST_NAME + '</b><br />' +
            '<b>' + graphic.attributes.WATERSHED_NAME + '<hr>'},
         dojo.create('div'));
       var tc = new TabContainer({
           id:'wsTabCont',
           style: 'width:350px;height:264px;line-height:150%;' +
           'font-family: Verdana,Arial,Helvetica,sans-serif;'},
            dojo.create('div'));
        
    
       var pane1 = new ContentPane({
           title:'Abstract',
           id:'wstab1',
           content:'<b>Watershed Code: </b>' + graphic.attributes.WATERSHED_CODE + '<br />' +
              '<b>Total Acres: </b>' + dojo.number.format(graphic.attributes.TOTAL_WATERSHED_AREA_ACRES,
              {places:0}) + '<br />' +
              '<b>Forest Service Ownership: </b>' + graphic.attributes.FS_OWNERSHIP_PERCENT + '%<br />' +
              '<b>Condition - Forest Service Area: </b>' + 
              graphic.attributes.WATERSHED_CONDITION_FS_AREA + '<br />' +
             '<b>Year Identified: </b>' + graphic.attributes.YEAR_PRIORITY_IDENTIFIED + '<br />' +
             '<b>Estimated Completion Date: </b>' + estCompDate + '<br />' +
             '<b>Estimated Cost: </b>' + estCost 
          
      });
      dojo.addClass(pane1.domNode, "wstab");
      var pane2 = new ContentPane({
        title:'Conditions',
        id:'wstab2',
        content:'<b>Aquatic Habitat: </b>' + graphic.attributes.AQUATIC_HABITAT_CONDITION + '<br />' +
            '<b>Aquatic Biota: </b>' + graphic.attributes.AQUATIC_BIOTA_CONDITION  + '<br />' +
            '<b>Water Quality: </b>' + graphic.attributes.WATER_QUALITY_CONDITION + '<br />' +
            '<b>Water Quantity: </b>' + graphic.attributes.WATER_QUANTITY_CONDITION + '<br />' +
            '<b>Wetland Vegetation: </b>' + 
            graphic.attributes.RIPARIAN_WETLAND_VEG_CONDITION + '<br />' +
            '<b>Forest Cover: </b>' + graphic.attributes.FOREST_COVER_CONDITION + '<br />' +
            '<b>Forest Health: </b>' + graphic.attributes.FOREST_HEALTH_CONDITION + '<br />' +
            '<b>Soil: </b>' + graphic.attributes.SOIL_CONDITION + '<br />' +
            '<b>Roads and Trails: </b>' + graphic.attributes.ROADS_AND_TRAILS_CONDITION
        });
    dojo.addClass(pane2.domNode, "wstab");
    var pane3 = new ContentPane({
       title:'Justification',
       id:'wstab3',
       style:'line-height:125%; margin:10px',
       content: graphic.attributes.SELECTION_NARRATIVE  
    });
    dojo.addClass(pane3.domNode, "wstab");
    var pane4 = new ContentPane({
       title:'Partners',
       id:'wstab4',
       content: partners  
    }); 
    dojo.addClass(pane4.domNode, "wstab");
    tc.addChild(pane1);
    tc.addChild(pane2);
    tc.addChild(pane3);
    tc.addChild(pane4);
    tc.startup();
    lscapp.cp.addChild(tc);
    lscapp.cp.startup();
    
    return lscapp.cp.domNode; //Move return inside the function
   
   });   
  
}
					
				
			
			
				
			
			
				
			
			
			
			
			
			
		var content = getTextContent(evt.graphic); wsDialog.setContent(content);  dojo.style(wsDialog.domNode, "opacity", 1.0);  dijit.popup.open({     popup: wsDialog,     x:evt.pageX,     y:evt.pageY }); getTextContent(evt.graphic,function() {     wsDialog.setContent(lscapp.cp.domNode);      dojo.style(wsDialog.domNode, "opacity", 1.0);      dijit.popup.open({         popup: wsDialog,         x:evt.pageX,         y:evt.pageY     });  });function getTextContent(graphic,callback) {     require (["dojox/xml/DomParser",        "dojox/xml/parser",        "dojo/date/locale",        "dijit/layout/ContentPane",        "dijit/layout/TabContainer"],     function (DomParser,parser,locale,       ContentPane,TabContainer) {               ...      /* content pane and tab container building     code removed */     ...          lscapp.cp.startup();     callback();              });   }