@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 3.13 kB
JavaScript
import{_ as e}from"../../chunks/tslib.es6.js";import{watch as t,initial as s}from"../../core/reactiveUtils.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import o from"../Widget.js";import l from"./FeatureFields/FeatureFieldsViewModel.js";import n from"./support/FeatureElementInfo.js";import{autoLink as d}from"../support/uriUtils.js";import"../support/widgetUtils.js";import{messageBundle as a}from"../support/decorators/messageBundle.js";import{tsx as p}from"../support/jsxFactory.js";const f="esri-feature-fields",u={base:f,fieldHeader:`${f}__field-header`,fieldData:`${f}__field-data`,fieldDataDate:`${f}__field-data--date`,esriTable:"esri-widget__table"};let m=class extends o{constructor(e,t){super(e,t),this._featureElementInfo=null,this.viewModel=new l,this.messages=null,this.messagesURIUtils=null}initialize(){this._featureElementInfo=new n,this.addHandles(t((()=>[this.viewModel?.description,this.viewModel?.title]),(()=>this._setupFeatureElementInfo()),s))}destroy(){this._featureElementInfo?.destroy()}get attributes(){return this.viewModel.attributes}set attributes(e){this.viewModel.attributes=e}get description(){return this.viewModel.description}set description(e){this.viewModel.description=e}get expressionInfos(){return this.viewModel.expressionInfos}set expressionInfos(e){this.viewModel.expressionInfos=e}get fieldInfos(){return this.viewModel.fieldInfos}set fieldInfos(e){this.viewModel.fieldInfos=e}get title(){return this.viewModel.title}set title(e){this.viewModel.title=e}renderFieldInfo(e,t){const{attributes:s}=this.viewModel,i=e.fieldName,r=e.label||i,o=s?null==s[i]?"":s[i]:"",l=!(!e.format||!e.format.dateFormat),n="number"==typeof o&&!l?this._forceLTR(o):d(this.messagesURIUtils,o),a={[u.fieldDataDate]:l};return p("tr",{key:`fields-element-info-row-${i}-${t}`},p("th",{key:`fields-element-info-row-header-${i}-${t}`,class:u.fieldHeader,innerHTML:r}),p("td",{key:`fields-element-info-row-data-${i}-${t}`,class:this.classes(u.fieldData,a),innerHTML:n}))}renderFields(){const{formattedFieldInfos:e}=this.viewModel;return e?.length?p("table",{class:u.esriTable,summary:this.messages.fieldsSummary},p("tbody",null,e.map(((e,t)=>this.renderFieldInfo(e,t))))):null}render(){return p("div",{class:u.base},this._featureElementInfo?.render(),this.renderFields())}_setupFeatureElementInfo(){const{description:e,title:t}=this;this._featureElementInfo?.set({description:e,title:t})}_forceLTR(e){return`‎${e}`}};e([i()],m.prototype,"attributes",null),e([i()],m.prototype,"description",null),e([i()],m.prototype,"expressionInfos",null),e([i()],m.prototype,"fieldInfos",null),e([i()],m.prototype,"title",null),e([i({type:l,nonNullable:!0})],m.prototype,"viewModel",void 0),e([i(),a("esri/widgets/Feature/t9n/Feature")],m.prototype,"messages",void 0),e([i(),a("esri/widgets/support/t9n/uriUtils")],m.prototype,"messagesURIUtils",void 0),m=e([r("esri.widgets.Feature.FeatureFields")],m);const c=m;export{c as default};