<?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: Query widget : attribute edit  in Web AppBuilder Custom Widgets Questions</title>
    <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/query-widget-attribute-edit/m-p/835796#M8750</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Helen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;I have not been successful find a solution for your exact workflow. Sorry I can not help more.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 29 Sep 2016 19:40:56 GMT</pubDate>
    <dc:creator>RobertScheitlin__GISP</dc:creator>
    <dc:date>2016-09-29T19:40:56Z</dc:date>
    <item>
      <title>Query widget : attribute edit</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/query-widget-attribute-edit/m-p/835793#M8747</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="https://community.esri.com/migrated-users/3101"&gt;Robert Scheitlin, GISP&lt;/A&gt;‌&lt;/P&gt;&lt;P&gt;Hi Robert,&lt;/P&gt;&lt;P&gt;I'm sorry if I take too much of your time being back and forth on this Edit subject but I couldn't do it without your help and I think I'm now pretty&amp;nbsp;close to getting that function work for my need. &amp;nbsp;&lt;/P&gt;&lt;P&gt;With my stacked accounts issue:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;1/&lt;/STRONG&gt;&amp;nbsp; Edit from&amp;nbsp;attribute table: &lt;SPAN style="color: #ff00ff;"&gt;Success! &amp;nbsp;Thank you!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I finally can work around by populating the Edit popup only, then double click on the attribute button&amp;nbsp;to open the attribute edit window. &amp;nbsp;By doing this 1 extra click, the attribute edit popup&amp;nbsp;always populate the account associated with the selected record from attribute table. &amp;nbsp;My users can live with that.&lt;/P&gt;&lt;P&gt;I commented out part of your codes that&lt;SPAN style="color: #ff00ff;"&gt;&amp;nbsp;&lt;SPAN style="color: #000000;"&gt;use&lt;/SPAN&gt; feature.geometry -&amp;gt; it returns&amp;nbsp;all points. &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if (this.wManager) {&lt;BR /&gt; var widgetCfg = this._getWidgetConfig('Edit');&lt;BR /&gt; if(widgetCfg){&lt;BR /&gt; this.wManager.triggerWidgetOpen(widgetCfg.id).then(lang.hitch(this, function(editWidget){&lt;BR /&gt; editWidget.disableWebMapPopup();&lt;BR /&gt; setTimeout(lang.hitch(this, function(){&lt;BR /&gt; var showEvent = {};&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008000;"&gt;// commented out to disable attribute popup&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #333399;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// var featurePoint;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #333399;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// if(result[0].geometry.type === 'point') {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #333399;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// featurePoint = result[0].geometry;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #333399;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// } else {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #333399;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// featurePoint = result[0].geometry.getExtent().getCenter();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #333399;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: #333399;"&gt;&amp;nbsp;//console.info(featurePoint);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #333399;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//showEvent.mapPoint = featurePoint;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #333399;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//showEvent.graphic = result[0];&lt;/SPAN&gt;&lt;BR /&gt; editWidget.reClickMap(showEvent);&lt;BR /&gt; }), 500);&lt;BR /&gt; }));&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt;&lt;SPAN style="color: #333399;"&gt;//end&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #333399;"&gt;2/ &amp;nbsp;&lt;/STRONG&gt;&lt;SPAN style="color: #000000;"&gt;Edit f&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;rom Query result: &lt;SPAN style="color: #ff00ff;"&gt;Still struggle!&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;I copied the above codes but it didn't give me the same behavior. &amp;nbsp;&lt;SPAN style="color: #ff00ff;"&gt;I still got the Edit popup however the attribute button on that window is inactive &lt;SPAN style="color: #000000;"&gt;(from both query result window and attribute window)&lt;/SPAN&gt;. &amp;nbsp;&lt;SPAN style="color: #000000;"&gt;I must have missed something.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;In widgets/Query/SingleQueryResult.js&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if(def){&lt;BR /&gt; def.then(lang.hitch(this, function(){&lt;BR /&gt; if(typeof this.map.infoWindow.setFeatures === 'function'){&lt;BR /&gt; this.map.infoWindow.setFeatures([feature]);&lt;BR /&gt; }&lt;BR /&gt; if(typeof this.map.infoWindow.reposition === 'function'){&lt;BR /&gt; this.map.infoWindow.reposition();&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;/*start edits*/&lt;BR /&gt; &lt;SPAN style="color: #333399;"&gt;//this.map.infoWindow.show(centerPoint);&lt;/SPAN&gt; &lt;BR /&gt; if (this.wManager) {&lt;BR /&gt; var widgetCfg = this._getWidgetConfig('Edit');&lt;BR /&gt; if (widgetCfg) {&lt;BR /&gt; this.wManager.triggerWidgetOpen(widgetCfg.id).then(lang.hitch(this, function (widget) {&lt;BR /&gt; setTimeout(lang.hitch(this, function () {&lt;BR /&gt; var showEvent = {}; //new&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008000;"&gt;//change to this: populate Edit&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #ff6600;"&gt;editWidget.reClickMap(showEvent);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #ff6600;"&gt;}), 500);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #333399;"&gt;//end&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008000;"&gt;//how it was before&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #333399;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;var mpPt = feature.geometry;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #333399;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;var scrPt = this.map.toScreen(mpPt);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #333399;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;this.map.emit("click", { bubbles: true, cancelable: true, screenPoint: scrPt, mapPoint: mpPt });&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #333399;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;}), 1000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #333399;"&gt;//end&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;}));&lt;BR /&gt; }&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}));&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; },&lt;/P&gt;&lt;P&gt;/*Added the new support function*/&lt;BR /&gt; _getWidgetConfig: function (widgetName) {&lt;BR /&gt; var widgetCnfg = null;&lt;BR /&gt; array.some(this.wManager.appConfig.widgetPool.widgets, function (aWidget) {&lt;BR /&gt; if (aWidget.name == widgetName) {&lt;BR /&gt; widgetCnfg = aWidget;&lt;BR /&gt; return true;&lt;BR /&gt; }&lt;BR /&gt; return false;&lt;BR /&gt; });&lt;BR /&gt; if (!widgetCnfg) {&lt;BR /&gt; /*Check OnScreen widgets if not found in widgetPool*/&lt;BR /&gt; array.some(this.wManager.appConfig.widgetOnScreen.widgets, function (aWidget) {&lt;BR /&gt; if (aWidget.name == widgetName) {&lt;BR /&gt; widgetCnfg = aWidget;&lt;BR /&gt; return true;&lt;BR /&gt; }&lt;BR /&gt; return false;&lt;BR /&gt; });&lt;BR /&gt; }&lt;BR /&gt; return widgetCnfg;&lt;BR /&gt; },&lt;BR /&gt;/* end new support function*/&lt;/P&gt;&lt;P&gt;_hideInfoWindow:function(){&lt;BR /&gt; if(this.map &amp;amp;&amp;amp; this.map.infoWindow){&lt;BR /&gt; this.map.infoWindow.hide();&lt;BR /&gt; if(typeof this.map.infoWindow.setFeatures === 'function'){&lt;BR /&gt; this.map.infoWindow.setFeatures([]);&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; },&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff00ff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Sep 2016 16:06:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/query-widget-attribute-edit/m-p/835793#M8747</guid>
      <dc:creator>helenchu</dc:creator>
      <dc:date>2016-09-28T16:06:36Z</dc:date>
    </item>
    <item>
      <title>Re: Query widget : attribute edit</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/query-widget-attribute-edit/m-p/835794#M8748</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Helen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Attached&amp;nbsp;is what works for me (you just had a lot of syntax issue i.e. curly braces and parentheses that did not match).&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Sep 2016 13:05:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/query-widget-attribute-edit/m-p/835794#M8748</guid>
      <dc:creator>RobertScheitlin__GISP</dc:creator>
      <dc:date>2016-09-29T13:05:29Z</dc:date>
    </item>
    <item>
      <title>Re: Query widget : attribute edit</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/query-widget-attribute-edit/m-p/835795#M8749</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have that before and it worked fine. &amp;nbsp;Just that with stacked accounts, it will populate all records in&amp;nbsp;that feature point. &amp;nbsp;(in my case it could be hundred of points: impossible for users to loop through to find the record&amp;nbsp;they want to edit)&lt;/P&gt;&lt;P&gt;What I was trying to say is in &lt;STRONG&gt;attribute widget&lt;/STRONG&gt; I can just use the below codes&amp;nbsp;to populate the edit popup &lt;STRONG&gt;without&lt;/STRONG&gt; the attribute popup. &amp;nbsp;Then click at the attribute button from Edit popup, it will populate the exact record for attribute edit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Attribute widget: FeatureTable.js &amp;nbsp;(These codes works exactly as I want it)&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;if (this.wManager) {
 var widgetCfg = this._getWidgetConfig('Edit');
 if(widgetCfg){
 this.wManager.triggerWidgetOpen(widgetCfg.id).then(lang.hitch(this, function(editWidget){
 editWidget.disableWebMapPopup();
 setTimeout(lang.hitch(this, function(){
 var showEvent = {};
editWidget.reClickMap(showEvent);
 }), 500);
 }));
}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff; border: 0px;"&gt;Query widget: SingleQueryResult.js&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;if (this.wManager) {
 var widgetCfg = this._getWidgetConfig('Edit');
 if (widgetCfg) {
 this.wManager.triggerWidgetOpen(widgetCfg.id).then(lang.hitch(this, function (widget) {
 setTimeout(lang.hitch(this, function () {
var mpPt = feature.geometry;
var scrPt = this.map.toScreen(mpPt);
&amp;nbsp;this.map.emit("click", { bubbles: true, cancelable: true, screenPoint: scrPt, mapPoint: mpPt });
 }), 1000);
 }));

}‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN style="color: #ff6600; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;if I replace (in SingleQueryResult.js)&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;var mpPt = feature.geometry;
 var scrPt = this.map.toScreen(mpPt);
 this.map.emit("click", { bubbles: true, cancelable: true, screenPoint: scrPt, mapPoint: mpPt });
 }), 1000);&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;with&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;var showEvent = {}; 
 editWidget.reClickMap(showEvent);
 }), 500);&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for some reasons, the attribute button on Edit popup&amp;nbsp;is inactive.&amp;nbsp;It didn't response at all.&lt;/P&gt;&lt;P&gt;I hope you could understand what's I'm trying to say ? &amp;nbsp;Sorry I don't know how to explain&amp;nbsp;it better!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 10:08:51 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/query-widget-attribute-edit/m-p/835795#M8749</guid>
      <dc:creator>helenchu</dc:creator>
      <dc:date>2021-12-12T10:08:51Z</dc:date>
    </item>
    <item>
      <title>Re: Query widget : attribute edit</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/query-widget-attribute-edit/m-p/835796#M8750</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Helen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;I have not been successful find a solution for your exact workflow. Sorry I can not help more.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Sep 2016 19:40:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/query-widget-attribute-edit/m-p/835796#M8750</guid>
      <dc:creator>RobertScheitlin__GISP</dc:creator>
      <dc:date>2016-09-29T19:40:56Z</dc:date>
    </item>
    <item>
      <title>Re: Query widget : attribute edit</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/query-widget-attribute-edit/m-p/835797#M8751</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Robert. &amp;nbsp;I appreciate it!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Sep 2016 20:25:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/query-widget-attribute-edit/m-p/835797#M8751</guid>
      <dc:creator>helenchu</dc:creator>
      <dc:date>2016-09-29T20:25:33Z</dc:date>
    </item>
  </channel>
</rss>

