<?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 Add button to infoWindow to pass graphic to another function in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/add-button-to-infowindow-to-pass-graphic-to/m-p/55211#M4864</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I'm trying to add a button to an infoWindow - when the button is clicked, it should pass the graphic to the supporting function.&amp;nbsp; Everything works but the graphic isn't passed...&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;function twitterPopup(evt){&amp;nbsp;&amp;nbsp; &amp;nbsp; var graphic = evt.graphic; &amp;nbsp; var attr = graphic.attributes; &amp;nbsp; var newDate = (attr.created_at).replace('+0000', 'UTC'); &amp;nbsp; var content = ''; &amp;nbsp; if (attr.profile_image_url) { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; content = '&amp;lt;a class="twImage" href="http://twitter.com/' + attr.from_user + '" target="_blank"&amp;gt;&amp;lt;img class="shadow" src="' +&amp;nbsp; &amp;nbsp; attr.profile_image_url + '" width="48" height="48"&amp;gt;&amp;lt;/a&amp;gt;'; &amp;nbsp; }&amp;nbsp; content += '&amp;lt;p&amp;gt;' + replaceURLWithLinks(attr.text) + '&amp;lt;/p&amp;gt;';&amp;nbsp; content += '&amp;lt;div class="clear"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;ul class="iwContentList"&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Location:&amp;lt;/b&amp;gt; (' + attr.geo.coordinates + ')&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Created:&amp;lt;/b&amp;gt; ' + newDate + '&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;br/&amp;gt;';&amp;nbsp; content += '&amp;lt;div align="center"&amp;gt; &amp;lt;input value="Add to Database" id = "add" type="button" onClick="addTwitterToDatabase(this.graphic)"&amp;gt;&amp;lt;/input&amp;gt;&amp;lt;/div&amp;gt;'&amp;nbsp; var title = attr.from_user + " tweets&amp;amp;hellip;"; &amp;nbsp;&amp;nbsp;&amp;nbsp; map.infoWindow.resize(300,230); &amp;nbsp;&amp;nbsp;&amp;nbsp; map.infoWindow.setTitle(title); &amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.byId('infoWindowContents').innerHTML = content; &amp;nbsp;&amp;nbsp;&amp;nbsp; $('#infoWindowContents a').each( function() { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(this).attr('target', '_BLANK'); &amp;nbsp;&amp;nbsp;&amp;nbsp; }); &amp;nbsp;&amp;nbsp;&amp;nbsp; esri.show(dojo.byId("infoWindowContents"));&amp;nbsp; var screenPoint = evt.screenPoint; &amp;nbsp;&amp;nbsp;&amp;nbsp; map.infoWindow.show(evt.graphic.geometry, map.getInfoWindowAnchor(screenPoint)); }&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anyone have any suggestions?&amp;nbsp; I've tried passing graphic, and this.graphic, but the passed parameter remained undefined in the addTwitterToDatabase function.&amp;nbsp; As it the function isn't passing anything at all....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks, Jay&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 05 May 2012 15:56:41 GMT</pubDate>
    <dc:creator>JayGregory</dc:creator>
    <dc:date>2012-05-05T15:56:41Z</dc:date>
    <item>
      <title>Add button to infoWindow to pass graphic to another function</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/add-button-to-infowindow-to-pass-graphic-to/m-p/55211#M4864</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I'm trying to add a button to an infoWindow - when the button is clicked, it should pass the graphic to the supporting function.&amp;nbsp; Everything works but the graphic isn't passed...&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;function twitterPopup(evt){&amp;nbsp;&amp;nbsp; &amp;nbsp; var graphic = evt.graphic; &amp;nbsp; var attr = graphic.attributes; &amp;nbsp; var newDate = (attr.created_at).replace('+0000', 'UTC'); &amp;nbsp; var content = ''; &amp;nbsp; if (attr.profile_image_url) { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; content = '&amp;lt;a class="twImage" href="http://twitter.com/' + attr.from_user + '" target="_blank"&amp;gt;&amp;lt;img class="shadow" src="' +&amp;nbsp; &amp;nbsp; attr.profile_image_url + '" width="48" height="48"&amp;gt;&amp;lt;/a&amp;gt;'; &amp;nbsp; }&amp;nbsp; content += '&amp;lt;p&amp;gt;' + replaceURLWithLinks(attr.text) + '&amp;lt;/p&amp;gt;';&amp;nbsp; content += '&amp;lt;div class="clear"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;ul class="iwContentList"&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Location:&amp;lt;/b&amp;gt; (' + attr.geo.coordinates + ')&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Created:&amp;lt;/b&amp;gt; ' + newDate + '&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;br/&amp;gt;';&amp;nbsp; content += '&amp;lt;div align="center"&amp;gt; &amp;lt;input value="Add to Database" id = "add" type="button" onClick="addTwitterToDatabase(this.graphic)"&amp;gt;&amp;lt;/input&amp;gt;&amp;lt;/div&amp;gt;'&amp;nbsp; var title = attr.from_user + " tweets&amp;amp;hellip;"; &amp;nbsp;&amp;nbsp;&amp;nbsp; map.infoWindow.resize(300,230); &amp;nbsp;&amp;nbsp;&amp;nbsp; map.infoWindow.setTitle(title); &amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.byId('infoWindowContents').innerHTML = content; &amp;nbsp;&amp;nbsp;&amp;nbsp; $('#infoWindowContents a').each( function() { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(this).attr('target', '_BLANK'); &amp;nbsp;&amp;nbsp;&amp;nbsp; }); &amp;nbsp;&amp;nbsp;&amp;nbsp; esri.show(dojo.byId("infoWindowContents"));&amp;nbsp; var screenPoint = evt.screenPoint; &amp;nbsp;&amp;nbsp;&amp;nbsp; map.infoWindow.show(evt.graphic.geometry, map.getInfoWindowAnchor(screenPoint)); }&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anyone have any suggestions?&amp;nbsp; I've tried passing graphic, and this.graphic, but the passed parameter remained undefined in the addTwitterToDatabase function.&amp;nbsp; As it the function isn't passing anything at all....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks, Jay&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 05 May 2012 15:56:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/add-button-to-infowindow-to-pass-graphic-to/m-p/55211#M4864</guid>
      <dc:creator>JayGregory</dc:creator>
      <dc:date>2012-05-05T15:56:41Z</dc:date>
    </item>
    <item>
      <title>Re: Add button to infoWindow to pass graphic to another function</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/add-button-to-infowindow-to-pass-graphic-to/m-p/55212#M4865</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;So I figured out how to do this - in case anyone wants to know.&amp;nbsp; It's pretty straightforward - &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1. Create a placeholder for the button in the content of the infoWindow. &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;content += '&amp;lt;div align="center"&amp;gt; &amp;lt;button id = "addTweetButton" type="button"&amp;gt;&amp;lt;/button&amp;gt;&amp;lt;/div&amp;gt;'&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;SPAN&gt;2. Add a button to the placeholder by referencing the id.&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;var button = new dijit.form.Button({ &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label: "Add to Database", &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; onClick: function(){ &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addTwitterToDatabase(graphic); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp; }, "addTweetButton");&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the full code - worked like a charm!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;PRE class="plain" name="code"&gt;function twitterPopup(evt){ &amp;nbsp; hideAll(); &amp;nbsp; graphic = evt.graphic; &amp;nbsp; var attr = graphic.attributes; &amp;nbsp; var newDate = (attr.created_at).replace('+0000', 'UTC'); &amp;nbsp; var content = ''; &amp;nbsp; if (attr.profile_image_url) { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; content = '&amp;lt;a class="twImage" href="http://twitter.com/' + attr.from_user + '" target="_blank"&amp;gt;&amp;lt;img class="shadow" src="' +&amp;nbsp; &amp;nbsp; attr.profile_image_url + '" width="48" height="48"&amp;gt;&amp;lt;/a&amp;gt;'; &amp;nbsp; }&amp;nbsp; content += '&amp;lt;p&amp;gt;' + replaceURLWithLinks(attr.text) + '&amp;lt;/p&amp;gt;';&amp;nbsp; content += '&amp;lt;div class="clear"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;ul class="iwContentList"&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Location:&amp;lt;/b&amp;gt; (' + attr.geo.coordinates + ')&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Created:&amp;lt;/b&amp;gt; ' + newDate + '&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;br/&amp;gt;';&amp;nbsp; content += '&amp;lt;div align="center"&amp;gt; &amp;lt;button id = "addTweetButton" type="button"&amp;gt;&amp;lt;/button&amp;gt;&amp;lt;/div&amp;gt;'&amp;nbsp; var title = attr.from_user + " tweets&amp;amp;hellip;"; &amp;nbsp;&amp;nbsp;&amp;nbsp; map.infoWindow.resize(300,230); &amp;nbsp;&amp;nbsp;&amp;nbsp; map.infoWindow.setTitle(title); &amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.byId('infoWindowContents').innerHTML = content; &amp;nbsp;&amp;nbsp;&amp;nbsp; /*Open all links in a new window*/ &amp;nbsp;&amp;nbsp;&amp;nbsp; $('#infoWindowContents a').each( function() { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(this).attr('target', '_BLANK'); &amp;nbsp;&amp;nbsp;&amp;nbsp; }); &amp;nbsp;&amp;nbsp;&amp;nbsp; esri.show(dojo.byId("infoWindowContents"));&amp;nbsp; var screenPoint = evt.screenPoint; &amp;nbsp;&amp;nbsp;&amp;nbsp; map.infoWindow.show(evt.graphic.geometry, map.getInfoWindowAnchor(screenPoint));&amp;nbsp; var button = new dijit.form.Button({ &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label: "Add to Database", &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; onClick: function(){ &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addTwitterToDatabase(graphic); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp; }, "addTweetButton"); }&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 06 May 2012 14:28:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/add-button-to-infowindow-to-pass-graphic-to/m-p/55212#M4865</guid>
      <dc:creator>JayGregory</dc:creator>
      <dc:date>2012-05-06T14:28:29Z</dc:date>
    </item>
  </channel>
</rss>

