12345 |
- /*
- All material copyright ESRI, All Rights Reserved, unless otherwise specified.
- See https://js.arcgis.com/4.25/esri/copyright.txt for details.
- */
- import{_ as e}from"../../chunks/tslib.es6.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/accessorSupport/ensureType.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import t from"../Widget.js";import o from"./SearchViewModel.js";import{accessibleHandler as l}from"../support/decorators/accessibleHandler.js";import{messageBundle as i}from"../support/decorators/messageBundle.js";import{tsx as u}from"../support/jsxFactory.js";import"../support/widgetUtils.js";const n={base:"esri-search-result-renderer esri-widget",anchor:"esri-widget__anchor",showMoreResults:"esri-search-result-renderer__more-results--show-more-results",moreResults:"esri-search-result-renderer__more-results",moreResultsList:"esri-search-result-renderer__more-results-list",moreResultsHeader:"esri-search-result-renderer__more-results-header",moreResultsItem:"esri-search-result-renderer__more-results-item",moreResultsListHeader:"esri-search-result-renderer__more-results-list-header"};let c=class extends t{constructor(e,s){super(e,s),this.messages=null,this.showMoreResultsOpen=!1,this.viewModel=null}render(){const e={[n.showMoreResults]:this.showMoreResultsOpen};return u("div",{class:n.base},u("div",{key:"esri-search-renderer__container",class:this.classes(n.moreResults,e)},this.renderSearchResultName(),this.renderMoreResults()))}renderMoreResults(){return u("div",{key:"esri-search-renderer__more-results"},this.renderMoreResultsButton(),this.renderMoreResultsLists())}renderSearchResultName(){const e=this.viewModel?.selectedResult,s=e&&e.name||"";return u("div",{key:"esri-search-renderer__result-name",class:n.moreResultsItem},s)}renderMoreResultsLists(){const e=this.viewModel?.results,{resultCount:s}=this.viewModel;if(s<2)return null;const r=e.map((e=>this.renderMoreResultsList(e)));return u("div",{key:"esri-search-renderer__more-results-container",class:n.moreResultsList},r)}renderMoreResultsButton(){const{messages:e}=this,{resultCount:s}=this.viewModel;return s<2?null:u("div",{key:"esri-search-renderer__more-results-button",class:n.moreResultsItem},u("a",{class:n.anchor,href:"#",bind:this,onclick:this._showMoreResultsClick,onkeydown:this._showMoreResultsClick},this.showMoreResultsOpen?e.hideMoreResults:e.showMoreResults))}renderMoreResultsHeader(e,s){return u("div",{key:`esri-search-result-renderer__header-${s}`,class:n.moreResultsListHeader},e)}renderMoreResultsList(e){const{results:s}=e,r=s.length,t=!!r,o=this.viewModel?.selectedResult,l=1===r&&s[0]===o,i=this._getSourceName(e.source,e.sourceIndex),n=this.viewModel?.results.length>1&&!l?this.renderMoreResultsHeader(i,e.sourceIndex):null,c=t&&s.map(((e,s)=>this.renderMoreResultsListItem(e,s))),d=t&&!l?u("ul",{key:`esri-search-result-renderer__list-${e.sourceIndex}`},c):null;return t?u("div",{key:`esri-search-result-renderer__results-${e.sourceIndex}`},n,d):null}renderMoreResultsListItem(e,s){return e!==this.get("viewModel.selectedResult")?u("li",{key:`esri-search-result-renderer__list-item-${s}`},u("a",{class:n.anchor,href:"#",tabindex:"0",bind:this,"data-result":e,onclick:this._selectResultClick,onkeydown:this._selectResultClick},e.name)):null}_showMoreResultsClick(e){e.preventDefault(),this.showMoreResultsOpen=!this.showMoreResultsOpen;const s=this.get("viewModel.view.popup");s&&s.reposition()}_selectResultClick(e){e.preventDefault();const s=e.currentTarget["data-result"];this.viewModel&&this.viewModel.select(s)}_getSourceName(e,s){return s===o.ALL_INDEX?this.messages.all:e.name}};e([s(),i("esri/widgets/Search/t9n/Search")],c.prototype,"messages",void 0),e([s()],c.prototype,"showMoreResultsOpen",void 0),e([s()],c.prototype,"viewModel",void 0),e([l()],c.prototype,"_showMoreResultsClick",null),e([l()],c.prototype,"_selectResultClick",null),c=e([r("esri.widgets.Search.SearchResultRenderer")],c);const d=c;export{d as default};
|