12345 |
- /*
- All material copyright ESRI, All Rights Reserved, unless otherwise specified.
- See https://js.arcgis.com/4.24/esri/copyright.txt for details.
- */
- import{_ as e}from"../chunks/tslib.es6.js";import{aliasOf as i}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import{cast as s}from"../core/accessorSupport/decorators/cast.js";import{property as t}from"../core/accessorSupport/decorators/property.js";import{subclass as r}from"../core/accessorSupport/decorators/subclass.js";import o from"./Widget.js";import l from"./BuildingExplorer/BuildingExplorerViewModel.js";import n from"./BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesTree.js";import a from"./BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js";import d from"./BuildingExplorer/BuildingPhasePicker/BuildingPhasePicker.js";import{Heading as p}from"./support/Heading.js";import{classes as c}from"./support/widgetUtils.js";import{messageBundle as g}from"./support/decorators/messageBundle.js";import{tsx as u}from"./support/jsxFactory.js";const h={levels:!0,phases:!0,disciplines:!0},m="esri-building-explorer",v={esriWidget:"esri-widget",esriWidgetDisabled:"esri-widget--disabled",esriIconLoadingIndicator:"esri-icon-loading-indicator",esriRotating:"esri-rotating",widgetIcon:"esri-icon-organization",base:`${m} esri-widget--panel`,panelError:`${m}__panel--error`,loadingContainer:`${m}__loading-container`,content:`${m}__content`,section:`${m}__section`,levels:`${m}__levels`,phases:`${m}__phases`,disciplines:`${m}__disciplines`};let y=class extends o{constructor(e,i){super(e,i),this._defaultViewModel=new l,this.viewModel=this._defaultViewModel,this.view=null,this.layers=null,this.visibleElements={...h},this.headingLevel=3,this.iconClass=v.widgetIcon,this.label=void 0,this.messages=null,this.messagesCommon=null,this.toggleSiblingsVisibility=!1}destroy(){this.viewModel!==this._defaultViewModel&&this._defaultViewModel.destroy()}_castVisibleElements(e){return{...h,...e}}render(){const e=this.viewModel,i="disabled"===e.state||!e.isSupported;return u("div",{key:this,class:c(v.esriWidget,v.base,{[v.esriWidgetDisabled]:i}),"aria-label":this.messages.widgetLabel},this._renderContent())}_renderContent(){const e=this.viewModel,i=this.messages;if(!e.isSupported)return u("p",{class:v.panelError},i.unsupported);if(!e.layers.length)return u("p",{class:v.panelError},i.noData);switch(e.state){case"loading":return this._renderLoadingIndicator();case"ready":return u("div",{key:"content",class:v.content},this._renderLevelPickerSection(),this._renderPhasePickerSection(),this._renderDisciplinesSection());case"failed":return u("p",{class:v.panelError},i.failed);default:return null}}_renderLoadingIndicator(){const e=this.messagesCommon.loading;return u("div",{key:"loading-container",role:"presentation",class:v.loadingContainer,"aria-label":e,title:e},u("span",{"aria-hidden":"true",class:c(v.esriIconLoadingIndicator,v.esriRotating)}))}_renderLevelPickerSection(){const e=this.viewModel.level,i="ready"===e.state,s=e.allowedValues.length>1;if(!this.visibleElements.levels||!i||!s)return null;const t=this.messages?.level;return u("div",{key:"levels",class:c(v.section,v.levels)},u(p,{level:this.headingLevel},t?.title),u(a,{vm:e,messages:t}))}_renderPhasePickerSection(){const e=this.viewModel.phase,i="ready"===e.state,s=e.allowedValues.length>1;if(!this.visibleElements.phases||!i||!s)return null;const t=this.messages.phase;return u("div",{key:"phases",class:c(v.section,v.phases)},u(p,{level:this.headingLevel},t.title),u(d,{vm:e,messages:t}))}_renderDisciplinesSection(){const e=this.viewModel.disciplines,i="ready"===e.state,s=e.root.hasChildren;if(!this.visibleElements.disciplines||!i||!s)return null;const t=this.messages?.disciplines;return u("div",{key:"disciplines",class:c(v.section,v.disciplines)},u(p,{level:this.headingLevel},t.title),u(n,{vm:e,messages:t,toggleSiblingsVisibility:this.toggleSiblingsVisibility}))}};e([t({type:l})],y.prototype,"viewModel",void 0),e([i("viewModel.view")],y.prototype,"view",void 0),e([i("viewModel.layers")],y.prototype,"layers",void 0),e([t()],y.prototype,"visibleElements",void 0),e([s("visibleElements")],y.prototype,"_castVisibleElements",null),e([t()],y.prototype,"headingLevel",void 0),e([t()],y.prototype,"iconClass",void 0),e([i("messages.widgetLabel",{overridable:!0})],y.prototype,"label",void 0),e([t(),g("esri/widgets/BuildingExplorer/t9n/BuildingExplorer")],y.prototype,"messages",void 0),e([t(),g("esri/t9n/common")],y.prototype,"messagesCommon",void 0),e([t({nonNullable:!0})],y.prototype,"toggleSiblingsVisibility",void 0),e([t()],y.prototype,"uiStrings",void 0),y=e([r("esri.widgets.BuildingExplorer")],y);const b=y;export{b as default};
|