<?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: Attribute inspector in popup problem in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/attribute-inspector-in-popup-problem/m-p/94160#M8581</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This is driving me crazy.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As is, the layer is selecting a feature every time a feature is clicked. When inspecting the html of the popup, after the first click the attribute inspector node is there and populated; on subsequent selections the node is still there but its div is empty. For whatever reason the inspector is not getting updated with the new selection.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have thoroughly dissected the inspector object and I can't see any method for manually setting the inspector with a feature or through the feature layer object.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If I create a div somewhere else in the app and set it as srcNodeRef it works fine.&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro"&gt;layer.inspector = new esri.dijit.AttributeInspector({ layerInfos: [&amp;nbsp; layerInfo ] }, 'temp-attributes' /*dojo.create('div')*/);&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any ideas? Derek? Kelly? Anyone?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 09 Oct 2013 23:04:43 GMT</pubDate>
    <dc:creator>BenFousek</dc:creator>
    <dc:date>2013-10-09T23:04:43Z</dc:date>
    <item>
      <title>Attribute inspector in popup problem</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/attribute-inspector-in-popup-problem/m-p/94159#M8580</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have feature layers for which the features are created in ArcMap but the attributes can be edited through the web app. Previously the user would initiate full editing through an editor like layers with geometry editing. To simplify things, I'm switching to an attribute inspector in the popup for these attribute edit only layers. Using the &lt;/SPAN&gt;&lt;A href="https://developers.arcgis.com/en/javascript/jssamples/ed_attribute_inspector.html" rel="nofollow noopener noreferrer" target="_blank"&gt;attribute inspector sample&lt;/A&gt;&lt;SPAN&gt; as inspiration I have it up and running.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The problem is the inspector is shown only on the first click/feature selection. Subsequent clicks return no content, i.e. the attribute inspector, in the popup content for the same or any other feature. The popup title updates but no inspector. Why?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[ATTACH=CONFIG]28199[/ATTACH][ATTACH=CONFIG]28200[/ATTACH]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This is the config object used to create the layer; it is variable &lt;/SPAN&gt;&lt;STRONG&gt;l&lt;/STRONG&gt;&lt;SPAN&gt; in the code below:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;{
&amp;nbsp; url: 'http://URL/arcgis/rest/services/Control/FeatureServer/0',
&amp;nbsp; token: true,
&amp;nbsp; tokenType: 'base', //base or custom
&amp;nbsp; tokenCustom: '',
&amp;nbsp; source: 'feature', //feature or map
&amp;nbsp; name: 'Control',
&amp;nbsp; id: 'fl_control',
&amp;nbsp; mode: 1,
&amp;nbsp; outFields: ['*'],
&amp;nbsp; visible: false,
&amp;nbsp; opacity: 1,
&amp;nbsp; minScale: 0,
&amp;nbsp; maxScale: 0,
&amp;nbsp; legend: true,
&amp;nbsp; infoTemplate: {
&amp;nbsp;&amp;nbsp;&amp;nbsp; type: 'inspector', //inspector, text, function or table
&amp;nbsp;&amp;nbsp;&amp;nbsp; titleText: 'Control: ${PROJECT} - ${POINT_NUM}',
&amp;nbsp;&amp;nbsp;&amp;nbsp; contentText: '${*}',
&amp;nbsp;&amp;nbsp;&amp;nbsp; contentFunction: function (graphic) {},
&amp;nbsp;&amp;nbsp;&amp;nbsp; contentInspector: {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isEditable: true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showObjectID: false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showGlobalID: false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showAttachments: false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showDeleteButton: false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldInfos: [
&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; fieldName: 'PROJECT',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label: 'Project',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isEditable: 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; fieldName: 'POINT_NUM',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label: 'Point No.',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isEditable: 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; fieldName: 'NORTHING',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label: 'Northing',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isEditable: false
&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; fieldName: 'EASTING',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label: 'Easting',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isEditable: false
&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; fieldName: 'ELEV',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label: 'Elevation',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isEditable: false
&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; fieldName: 'DESCRIPTION',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label: 'Description',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isEditable: 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; fieldName: 'PROJECTION',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label: 'Projection',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isEditable: false
&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; fieldName: 'NOTES',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label: 'Notes',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'stringFieldOption': 'textarea',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isEditable: 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; identify: true,
&amp;nbsp; query: true,
&amp;nbsp; queryLayer: 0, //same as feature layer TO DO: extract from url instead
&amp;nbsp; queryParams: {
&amp;nbsp;&amp;nbsp;&amp;nbsp; //query params
&amp;nbsp; },
&amp;nbsp; edit: true,
&amp;nbsp; editParams: {
&amp;nbsp;&amp;nbsp;&amp;nbsp; //editor params
&amp;nbsp; },
&amp;nbsp; info: true,
&amp;nbsp; infoType: 'text', //text or href
&amp;nbsp; infoContent: 'Layer info...' //info text (html) or url
}&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This is the info template portion of the code that creates a feature layer; &lt;/SPAN&gt;&lt;STRONG&gt;layer&lt;/STRONG&gt;&lt;SPAN&gt; is the feature layer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;var it = new esri.InfoTemplate();

if (l.infoTemplate.type === 'inspector') {
&amp;nbsp; var layerInfo = {
&amp;nbsp;&amp;nbsp;&amp;nbsp; featureLayer: layer,
&amp;nbsp;&amp;nbsp;&amp;nbsp; isEditable: l.infoTemplate.contentInspector.isEditable,
&amp;nbsp;&amp;nbsp;&amp;nbsp; showObjectID: l.infoTemplate.contentInspector.showObjectID,
&amp;nbsp;&amp;nbsp;&amp;nbsp; showGlobalID: l.infoTemplate.contentInspector.showGlobalID,
&amp;nbsp;&amp;nbsp;&amp;nbsp; showAttachments: l.infoTemplate.contentInspector.showAttachments,
&amp;nbsp;&amp;nbsp;&amp;nbsp; showDeleteButton: l.infoTemplate.contentInspector.showDeleteButton
&amp;nbsp; }
&amp;nbsp; 
&amp;nbsp; if (l.infoTemplate.contentInspector.fieldInfos !== undefined) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; layerInfo.fieldInfos = l.infoTemplate.contentInspector.fieldInfos;
&amp;nbsp; }
&amp;nbsp; 
&amp;nbsp; layer.inspector = new esri.dijit.AttributeInspector({
&amp;nbsp;&amp;nbsp;&amp;nbsp; layerInfos: [layerInfo]
&amp;nbsp; }, dojo.create('div'));
&amp;nbsp; 
&amp;nbsp; dojo.style(layer.inspector.layerName, 'display', 'none');
&amp;nbsp; 
&amp;nbsp; layer.inspector.on('attribute-change', function (result) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var feature = result.feature;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var atts = feature.attributes;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i in atts) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (i === result.fieldName) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; atts&lt;I&gt; = result.fieldValue;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.applyEdits(null, [feature], null, function (a, u, d) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(u[0]);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }, function (error) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(error);
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp; });

&amp;nbsp; it.setContent(layer.inspector.domNode);
&amp;nbsp; 
&amp;nbsp; it.setTitle(l.infoTemplate.titleText);
&amp;nbsp; 
&amp;nbsp; layer.on('click', function (evt) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var query = new esri.tasks.Query();
&amp;nbsp;&amp;nbsp;&amp;nbsp; query.where = 'OBJECTID = ' + evt.graphic.attributes.OBJECTID;
&amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log(evt.graphic);
&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.selectFeatures(query, 3, function (features) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(features);
&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp; });
&amp;nbsp; 
&amp;nbsp; app.map.infoWindow.on('hide', function () {
&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.clearSelection();
&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log('infoWindow hidden');
&amp;nbsp; });
&amp;nbsp; 
} else if (l.infoTemplate.type === 'text') {
&amp;nbsp; //text
} else if (l.infoTemplate.type === 'table') {
&amp;nbsp; //table
} else if (l.infoTemplate.type === 'function') {
&amp;nbsp; //function
}

layer.setInfoTemplate(it);&lt;/I&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for any help or suggestions.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 23:35:57 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/attribute-inspector-in-popup-problem/m-p/94159#M8580</guid>
      <dc:creator>BenFousek</dc:creator>
      <dc:date>2021-12-10T23:35:57Z</dc:date>
    </item>
    <item>
      <title>Re: Attribute inspector in popup problem</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/attribute-inspector-in-popup-problem/m-p/94160#M8581</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This is driving me crazy.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As is, the layer is selecting a feature every time a feature is clicked. When inspecting the html of the popup, after the first click the attribute inspector node is there and populated; on subsequent selections the node is still there but its div is empty. For whatever reason the inspector is not getting updated with the new selection.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have thoroughly dissected the inspector object and I can't see any method for manually setting the inspector with a feature or through the feature layer object.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If I create a div somewhere else in the app and set it as srcNodeRef it works fine.&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro"&gt;layer.inspector = new esri.dijit.AttributeInspector({ layerInfos: [&amp;nbsp; layerInfo ] }, 'temp-attributes' /*dojo.create('div')*/);&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any ideas? Derek? Kelly? Anyone?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Oct 2013 23:04:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/attribute-inspector-in-popup-problem/m-p/94160#M8581</guid>
      <dc:creator>BenFousek</dc:creator>
      <dc:date>2013-10-09T23:04:43Z</dc:date>
    </item>
  </channel>
</rss>

