I am using WAB 2.13. I have unchecked the "Expand the results list by default" item, but the results are still expanded by default. Oddly enough the operation button that is displayed is the "Expand all". Anyone have any ideas?
Jason
Jason,
Seems like a widget bug. Here is my fix for that. This code goes in the SingleQueryResult.js file (lines 27 - 32 added and 40 modified).
_createQueryResultItem<SPAN class="punctuation token">:</SPAN> <SPAN class="keyword token">function</SPAN><SPAN class="punctuation token">(</SPAN>options<SPAN class="punctuation token">,</SPAN> i<SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">{</SPAN> <SPAN class="keyword token">var</SPAN> lastFeatureClass <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">var</SPAN> lastRelatedClass <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">var</SPAN> lastArrowData <SPAN class="operator token">=</SPAN> <SPAN class="string token">''</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">if</SPAN><SPAN class="punctuation token">(</SPAN>i <SPAN class="operator token">===</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>_featuresNum <SPAN class="operator token">-</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">{</SPAN> lastFeatureClass <SPAN class="operator token">=</SPAN> <SPAN class="string token">' '</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>_lastFeatureClass<SPAN class="punctuation token">;</SPAN> lastRelatedClass <SPAN class="operator token">=</SPAN> <SPAN class="string token">' '</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>_lastRelatedClass<SPAN class="punctuation token">;</SPAN> lastArrowData <SPAN class="operator token">=</SPAN> <SPAN class="string token">'data-lastArrow="true"'</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="punctuation token">}</SPAN> <SPAN class="keyword token">var</SPAN> resultLayer <SPAN class="operator token">=</SPAN> options<SPAN class="punctuation token">.</SPAN>resultLayer<SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">var</SPAN> feature <SPAN class="operator token">=</SPAN> options<SPAN class="punctuation token">.</SPAN>feature<SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">var</SPAN> trClass <SPAN class="operator token">=</SPAN> options<SPAN class="punctuation token">.</SPAN>trClass<SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">var</SPAN> popupTemplate2 <SPAN class="operator token">=</SPAN> options<SPAN class="punctuation token">.</SPAN>popupTemplate2<SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">var</SPAN> relationships <SPAN class="operator token">=</SPAN> options<SPAN class="punctuation token">.</SPAN>relationships<SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">var</SPAN> objectIdField <SPAN class="operator token">=</SPAN> options<SPAN class="punctuation token">.</SPAN>objectIdField<SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">var</SPAN> url <SPAN class="operator token">=</SPAN> options<SPAN class="punctuation token">.</SPAN>url<SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">var</SPAN> relationshipPopupTemplates <SPAN class="operator token">=</SPAN> options<SPAN class="punctuation token">.</SPAN>relationshipPopupTemplates<SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">var</SPAN> shouldCreateSymbolNode <SPAN class="operator token">=</SPAN> options<SPAN class="punctuation token">.</SPAN>shouldCreateSymbolNode<SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">var</SPAN> isWebMapShowRelatedRecordsEnabled <SPAN class="operator token">=</SPAN> options<SPAN class="punctuation token">.</SPAN>isWebMapShowRelatedRecordsEnabled<SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">var</SPAN> attributes <SPAN class="operator token">=</SPAN> feature <SPAN class="operator token">&&</SPAN> feature<SPAN class="punctuation token">.</SPAN>attributes<SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">if</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="operator token">!</SPAN>attributes<SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">{</SPAN> <SPAN class="keyword token">return</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="punctuation token">}</SPAN> <SPAN class="keyword token">var</SPAN> title <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">_getPopupTitle</SPAN><SPAN class="punctuation token">(</SPAN>popupTemplate2<SPAN class="punctuation token">,</SPAN> feature<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="comment token">//create PopupRenderer</SPAN> <SPAN class="keyword token">var</SPAN> expClass<SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">if</SPAN><SPAN class="punctuation token">(</SPAN>html<SPAN class="punctuation token">.</SPAN><SPAN class="token function">hasClass</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>resultsTbody<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'expanded'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">{</SPAN> expClass <SPAN class="operator token">=</SPAN> <SPAN class="string token">'expanded'</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="punctuation token">}</SPAN><SPAN class="keyword token">else</SPAN><SPAN class="punctuation token">{</SPAN> expClass <SPAN class="operator token">=</SPAN> <SPAN class="string token">'folded'</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="punctuation token">}</SPAN> <SPAN class="keyword token">var</SPAN> strItem <SPAN class="operator token">=</SPAN> <SPAN class="string token">'<tr role="button" tabindex="0" '</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'class="jimu-table-row jimu-table-row-separator query-result-item'</SPAN> <SPAN class="operator token">+</SPAN> lastFeatureClass <SPAN class="operator token">+</SPAN> <SPAN class="string token">'" '</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">' cellpadding="0" cellspacing="0"><td>'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'<table class="query-result-item-table">'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'<tbody>'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'<tr>'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'<td class="symbol-td"></td><td class="popup-td '</SPAN><SPAN class="operator token">+</SPAN> expClass <SPAN class="operator token">+</SPAN><SPAN class="string token">'">'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'<div class="popup-title-container">'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'<div class="popup-title">'</SPAN> <SPAN class="operator token">+</SPAN> title <SPAN class="operator token">+</SPAN> <SPAN class="string token">'</div>'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'<div role="button" tabindex="0" aria-label="'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>nls<SPAN class="punctuation token">.</SPAN>collapse <SPAN class="operator token">+</SPAN> <SPAN class="string token">'" '</SPAN> <SPAN class="operator token">+</SPAN> lastArrowData <SPAN class="operator token">+</SPAN> <SPAN class="string token">' class="popup-title-icon"></div></div>'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'<div class="popup-content"></div>'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'</td>'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'</tr>'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'</tbody>'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'</table>'</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'</td></tr>'</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
I'm fairly new to web appbuilder. We added the above code which seems to fix the icon starting on the right setting but our results keep showing up as expanded. No matter if we uncheck the box or not. We want the results to show up as collapsed and allow the user to expand the result they want.
Also the change to the code in the answer does not specify which copy of the SingleResultQuery.js to change. I found four different copies of it.
Thank you.
Thanks again that worked! Point of note - the adds are lines 26-31.
Signed in members can post, follow updates, and more. New here? Register a free account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.