UNPKG

@doegis/core

Version:

DOE GIS API

3 lines (1 loc) 4.22 kB
import{_ as e}from"../chunks/tslib.es6.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import{cast as i}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import{subclass as t}from"../core/accessorSupport/decorators/subclass.js";import r from"./Widget.js";import l from"./BuildingExplorer/BuildingExplorerViewModel.js";import{CSS as o}from"./BuildingExplorer/css.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};let m=class extends r{constructor(e,s){super(e,s),this._defaultViewModel=new l,this.viewModel=this._defaultViewModel,this.visibleElements={...h},this.headingLevel=3,this.iconClass=o.widgetIcon,this.messages=null,this.messagesCommon=null,this.toggleSiblingsVisibility=!1}destroy(){this.viewModel!==this._defaultViewModel&&this._defaultViewModel.destroy()}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get layers(){return this.viewModel.layers}set layers(e){this.viewModel.layers=e}_castVisibleElements(e){return{...h,...e}}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}render(){const e=this.viewModel,s="disabled"===e.state||!e.isSupported;return u("div",{key:this,class:c(o.esriWidget,o.base,{[o.esriWidgetDisabled]:s}),"aria-label":this.messages.widgetLabel},this._renderContent())}_renderContent(){const e=this.viewModel,s=this.messages;if(!e.isSupported)return u("p",{class:o.panelError},s.unsupported);if(!e.layers.length)return u("p",{class:o.panelError},s.noData);switch(e.state){case"loading":return this._renderLoadingIndicator();case"ready":return u("div",{key:"content",class:o.content},this._renderLevelPickerSection(),this._renderPhasePickerSection(),this._renderDisciplinesSection());case"failed":return u("p",{class:o.panelError},s.failed);default:return null}}_renderLoadingIndicator(){const e=this.messagesCommon.loading;return u("div",{key:"loading-container",role:"presentation",class:o.loadingContainer,"aria-label":e,title:e},u("span",{"aria-hidden":"true",class:c(o.esriIconLoadingIndicator,o.esriRotating)}))}_renderLevelPickerSection(){const e=this.viewModel.level,s="ready"===e.state,i=e.allowedValues.length>1;if(!this.visibleElements.levels||!s||!i)return null;const t=this.messages?.level;return u("div",{key:"levels",class:c(o.section,o.levels)},u(p,{level:this.headingLevel},t?.title),u(a,{vm:e,messages:t}))}_renderPhasePickerSection(){const e=this.viewModel.phase,s="ready"===e.state,i=e.allowedValues.length>1;if(!this.visibleElements.phases||!s||!i)return null;const t=this.messages.phase;return u("div",{key:"phases",class:c(o.section,o.phases)},u(p,{level:this.headingLevel},t.title),u(d,{vm:e,messages:t}))}_renderDisciplinesSection(){const e=this.viewModel.disciplines,s="ready"===e.state,i=e.root.hasChildren;if(!this.visibleElements.disciplines||!s||!i)return null;const t=this.messages?.disciplines;return u("div",{key:"disciplines",class:c(o.section,o.disciplines)},u(p,{level:this.headingLevel},t.title),u(n,{vm:e,messages:t,toggleSiblingsVisibility:this.toggleSiblingsVisibility}))}};e([s({type:l})],m.prototype,"viewModel",void 0),e([s()],m.prototype,"view",null),e([s()],m.prototype,"layers",null),e([s()],m.prototype,"visibleElements",void 0),e([i("visibleElements")],m.prototype,"_castVisibleElements",null),e([s()],m.prototype,"headingLevel",void 0),e([s()],m.prototype,"iconClass",void 0),e([s()],m.prototype,"label",null),e([s(),g("esri/widgets/BuildingExplorer/t9n/BuildingExplorer")],m.prototype,"messages",void 0),e([s(),g("esri/t9n/common")],m.prototype,"messagesCommon",void 0),e([s({nonNullable:!0})],m.prototype,"toggleSiblingsVisibility",void 0),e([s()],m.prototype,"uiStrings",void 0),m=e([t("esri.widgets.BuildingExplorer")],m);const v=m;export{v as default};