@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 1.79 kB
JavaScript
import{_ as e}from"../../chunks/tslib.es6.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";import o from"../Widget.js";import s from"./FeatureContent/FeatureContentViewModel.js";import{shouldOpenInNewTab as a}from"./support/featureUtils.js";import{isWidget as i}from"../support/widget.js";import{tsx as d}from"../support/jsxFactory.js";const n="esri-feature-content",c={base:n,loaderContainer:`${n}__loader-container`,loader:`${n}__loader`};let l=class extends o{constructor(e,r){super(e,r),this.viewModel=null,this._addTargetToAnchors=e=>{Array.from(e.querySelectorAll("a")).forEach((e=>{a(e.href)&&!e.hasAttribute("target")&&e.setAttribute("target","_blank")}))}}get creator(){return this.viewModel?.creator}set creator(e){this.viewModel&&(this.viewModel.creator=e)}get graphic(){return this.viewModel?.graphic}set graphic(e){this.viewModel&&(this.viewModel.graphic=e)}renderLoading(){return d("div",{class:c.loaderContainer,key:"loader"},d("div",{class:c.loader}))}renderCreated(){const e=this.viewModel?.created;return e?e instanceof HTMLElement?d("div",{key:e,bind:e,afterCreate:this._attachToNode}):i(e)?d("div",{key:e},!e.destroyed&&e.render()):d("div",{key:e,innerHTML:e,afterCreate:this._addTargetToAnchors}):null}render(){const e=this.viewModel?.state;return d("div",{class:c.base},"loading"===e?this.renderLoading():this.renderCreated())}_attachToNode(e){const r=this;e.appendChild(r)}};e([r()],l.prototype,"creator",null),e([r()],l.prototype,"graphic",null),e([r({type:s})],l.prototype,"viewModel",void 0),l=e([t("esri.widgets.Feature.FeatureContent")],l);const p=l;export{p as default};