@arcgis/map-components
Version:
ArcGIS Map Components
2 lines • 7.54 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
import c from"./FT372QJV.js";import b from"./R3NYK6BO.js";import{d as $}from"./PBSJQPB2.js";import{O as A,P as y,Q as w,R as l,U as x,a as v,b as a}from"./WUJCCZQC.js";import"./3TTFCHAA.js";export default $arcgis.t(([I,_,P,k,{watch:S},,{d:u}])=>{function L(i){let t=i.toLowerCase();return t==="image/bmp"||t==="image/emf"||t==="image/exif"||t==="image/gif"||t==="image/x-icon"||t==="image/jpeg"||t==="image/png"||t==="image/tiff"||t==="image/x-wmf"}function T(i){return i?i==="text/plain"?"file-text":i==="application/pdf"?"file-pdf":i==="text/csv"?"file-csv":i==="application/gpx+xml"?"file-gpx":i==="application/x-dwf"?"file-cad":i==="application/postscript"||i==="application/json"||i==="text/xml"||i==="model/vrml"?"file-code":i==="application/x-zip-compressed"||i==="application/x-7z-compressed"||i==="application/x-gzip"||i==="application/x-tar"||i==="application/x-gtar"||i==="application/x-bzip2"||i==="application/gzip"||i==="application/x-compress"||i==="application/x-apple-diskimage"||i==="application/x-rar-compressed"||i==="application/zip"?"file-zip":i.includes("image/")?"file-image":i.includes("audio/")?"file-sound":i.includes("video/")?"file-video":i.includes("msexcel")||i.includes("ms-excel")||i.includes("spreadsheetml")?"file-excel":i.includes("msword")||i.includes("ms-word")||i.includes("wordprocessingml")?"file-word":i.includes("powerpoint")||i.includes("presentationml")?"file-report":"file":"file"}var j=v`.item-link{display:flex;flex-grow:1}.item-link img{max-width:100%;max-height:100%;object-fit:contain}.item-link--list{align-items:center;justify-content:center;width:64px;max-height:64px;overflow:hidden;border-radius:var(--calcite-corner-radius-sm)}.item-link--list img{border-radius:var(--calcite-corner-radius-sm)}.item-link--list-icon{border:var(--calcite-border-width-sm) solid var(--calcite-color-border-3)}.item-link--list calcite-icon{margin:var(--calcite-spacing-lg)}.item-link--preview{align-items:center;justify-content:center}.item-link--preview calcite-icon{margin-block:var(--calcite-spacing-lg)}.item-description{text-align:center;word-wrap:break-word;word-break:break-word}calcite-link{--calcite-link-text-color: var(--calcite-color-text-3);padding-inline:var(--calcite-spacing-sm);word-wrap:break-word;word-break:break-word}calcite-card{width:100%}`,C=P.ofType(I),b=class extends A{constructor(){super(...arguments),this._attachmentInfos=new C,this._attachmentLayer=null,this._supportsImageOrientation=window?.CSS?.supports("image-orientation","from-image"),this.getAttachmentsPromise=null,this.hideSection=!1,this.headingLevel=2,this.hidePreviewImageAttachmentName=!1}static{this.properties={effectiveDisplayType:16,getAttachmentsPromise:16,hideSection:16,supportsResizeAttachments:16,attachmentKeywords:0,attachmentTypes:0,description:1,displayType:1,graphic:0,heading:1,messages:0,orderByFields:0,headingLevel:9,hidePreviewImageAttachmentName:5}}static{this.styles=j}get _supportsTypeWildcard(){let{graphic:t}=this;if(!t)return!1;let e=u(t);return e?.loaded&&"capabilities"in e&&e.capabilities&&"attachment"in e.capabilities&&e.capabilities.attachment&&"supportsResize"in e.capabilities.attachment&&e.capabilities.attachment.supportsTypeWildcard||!1}get effectiveDisplayType(){let{displayType:t}=this;return!t||t==="auto"?this.supportsResizeAttachments?"preview":"list":t}get supportsResizeAttachments(){let{graphic:t}=this;if(!t)return!1;let e=u(t);return e?.loaded&&"capabilities"in e&&e.capabilities&&"attachment"in e.capabilities&&e.capabilities.attachment&&"supportsResize"in e.capabilities.attachment&&e.capabilities.attachment.supportsResize||!1}loaded(){this.manager.onLifecycle(()=>[S(()=>this.graphic,()=>this.graphicChanged(),{initial:!0})])}async getAttachments(){let{_attachmentLayer:t,_attachmentInfos:e,orderByFields:m,attachmentTypes:p,attachmentKeywords:s,_supportsTypeWildcard:g}=this;if(!t||typeof t.queryAttachments!="function")throw new k("invalid-layer","getAttachments(): A valid layer is required.");let d=this.graphic?.getObjectId();if(typeof d!="number")throw new k("invalid-object-id","getAttachments(): Numeric object id is required");let n=m?.map(r=>`${r.field} ${r.order==="descending"?"DESC":"ASC"}`),f=new _({objectIds:[d],returnMetadata:!0,orderByFields:n,attachmentTypes:g?p?.filter(Boolean).map(r=>`${r}/*`):void 0,keywords:s}),c=[],h=t.queryAttachments(f).then(r=>r[d]||c).catch(()=>c);this.getAttachmentsPromise=h;let o=await h;e.destroyAll(),o.length&&e.addMany(o),this.getAttachmentsPromise=null}setAttachmentLayer(){let{graphic:t}=this,e=u(t);this._attachmentLayer=e?e.type==="scene"&&e.associatedLayer!=null?e.associatedLayer:e:null}graphicChanged(){this.graphic&&(this.setAttachmentLayer(),this.getAttachments().catch(()=>this._attachmentInfos.destroyAll()))}getCSSTransform(t){let{orientationInfo:e}=t;return!this._supportsImageOrientation&&e?[e.rotation?`rotate(${e.rotation}deg)`:"",e.mirrored?"scaleX(-1)":""].join(" "):""}render(){return a`<div class="root" .hidden=${!(this.getAttachmentsPromise||this._attachmentInfos.length>0)}><arcgis-feature-element-info .heading=${this.heading} .description=${this.description} .headingLevel=${this.headingLevel}></arcgis-feature-element-info>${this.renderAttachments()}</div>`}renderAttachmentsList(t){return a`<calcite-list .loading=${!!this.getAttachmentsPromise} .label=${this.messages?.componentLabel??""} interaction-mode=static selection-mode=none>${t.toArray().filter(Boolean).map(e=>this.renderAttachmentListItem(e))}</calcite-list>`}renderAttachmentsPreview(t){return a`<calcite-card-group .label=${this.messages?.componentLabel??""}>${this.getAttachmentsPromise?a`<calcite-card loading></calcite-card>`:t.toArray().filter(Boolean).map(e=>this.renderAttachmentPreviewItem(e))}</calcite-card-group>`}renderAttachments(){let{effectiveDisplayType:t,_attachmentInfos:e}=this;return t==="preview"?this.renderAttachmentsPreview(e):this.renderAttachmentsList(e)}renderAttachmentListItem(t){let{supportsResizeAttachments:e}=this,{contentType:m,name:p,url:s,size:g}=t,d=64,n=p||this.messages?.noTitle,f=T(m),c=this.getCSSTransform(t),h=c?{transform:c,"image-orientation":"none"}:{},o=e&&L(m),r=a`<a class=${y($("item-link","item-link--list",{"item-link--list-icon":!o}))} slot=content-start href=${s??void 0??l} rel=noreferrer target=_blank>${o?a`<img alt=${p??l} src=${`${s}${s?.includes("?")?"&":"?"}w=${d}&s=${g}`} style=${w(h)} title=${p??l}>`:a`<calcite-icon .icon=${f}></calcite-icon>`}</a>`,z=a`<calcite-link slot=content .href=${s??void 0} rel=noreferrer target=_blank>${n}</calcite-link>`;return a`<calcite-list-item .label=${n}>${r}${z}</calcite-list-item>`}renderAttachmentPreviewItem(t){let{supportsResizeAttachments:e}=this,{contentType:m,name:p,url:s,size:g}=t,d=225,n=p||this.messages?.noTitle,f=T(m),c=this.getCSSTransform(t),h=c?{transform:c,"image-orientation":"none"}:{},o=e&&L(m),r=a`<a class=${y($("item-link","item-link--preview"))} slot=thumbnail href=${s??void 0??l} rel=noreferrer target=_blank aria-label=${n??l} title=${n??l}>${o?a`<img alt=${n??l} src=${`${s}${s?.includes("?")?"&":"?"}w=${d}&s=${g}`} style=${w(h)}>`:a`<calcite-icon scale=l .icon=${f}></calcite-icon>`}</a>`;return a`<calcite-card .label=${n}>${r}${this.hidePreviewImageAttachmentName&&o?null:a`<span class="item-description" slot=description>${n}</span>`}</calcite-card>`}};x("arcgis-feature-attachments",b);return b},"rest/query/support/AttachmentInfo","rest/support/AttachmentQuery","core/Collection","core/Error","core/reactiveUtils",b,c)