UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

1 lines • 14.1 kB
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9926],{18047(e,t,n){n.d(t,{Up:()=>u,ZV:()=>s,yx:()=>l});var r=n(73444);const i={ar:"ar-u-nu-latn",bs:"sr-Latn-CS",nn:"no-NN"};let a=new WeakMap,o={};function l(e={}){const t={};return null!=e.digitSeparator&&(t.useGrouping=e.digitSeparator),null!=e.places&&(t.minimumFractionDigits=t.maximumFractionDigits=e.places),t}function u(e){const{minimumFractionDigits:t,maximumFractionDigits:n,useGrouping:r}=e;return{minimumFractionDigits:t,maximumFractionDigits:n,useGrouping:"auto"===r?"auto":"always"===r}}function s(e,t){return Object.is(e,-0)&&(e=0),function(e){const t=e||o;if(!a.has(t)){const n=(0,r.lR)(),o=n&&i[n]||(0,r.QC)();a.set(t,new Intl.NumberFormat(o,e))}return a.get(t)}(t).format(e)}(0,r.Ml)(()=>{a=new WeakMap,o={}}),new Map},29926(e,t,n){n.r(t),n.d(t,{applyTextFormattingHTML:()=>B,createFieldInfoMap:()=>W,findRelatedLayer:()=>ue,findUtilityNetwork:()=>se,fixTokens:()=>D,formatAttributes:()=>X,formatEditInfo:()=>P,formatValueToFieldInfo:()=>Q,getAllFieldInfos:()=>_,getConfigurableFieldsContainer:()=>Z,getFieldFormat:()=>q,getFieldInfo:()=>J,getFieldInfoLabel:()=>v,getFixedFieldName:()=>A,getFixedFieldNames:()=>R,getSourceLayer:()=>C,graphicCallback:()=>L,htmlEntities:()=>Y,isAssociatedFeatureSupportedLayer:()=>z,isExpressionField:()=>k,isFeatureSupportedLayer:()=>$,isGraphicForRelatableFeatureSupportedLayer:()=>H,isRelatableFeatureSupportedLayer:()=>O,isRelatableLayer:()=>G,isRelatedField:()=>ne,preLayerQueryCallback:()=>oe,preRequestCallback:()=>le,querySourceLayer:()=>ee,queryUpdatedFeature:()=>te,shouldOpenInNewTab:()=>x,substituteAttributes:()=>j,substituteFieldsInLinksAndAttributes:()=>U});var r=n(53966),i=n(799),a=n(97770),o=n(18047),l=n(62044),u=n(30524),s=n(77548),f=n(4560),d=n(43668),c=n(56400);const p=()=>r.A.getLogger("esri.widgets.Feature.support.featureUtils"),y=/href=(""|'')/gi,m=/(\{([^{\r\n]+)\})/g,g=/'/g,b=/^\s*expression\//i,I=/(\n)/gi,F=/[\u00A0-\u9999<>&]/gim,h=/href\s*=\s*(?:"([^"]+)"|'([^']+)')/gi,w=/^(?:mailto:|tel:)/,T="relationships/",N=(0,a.J2)("short-date-short-time");function C(e){if(null!=e)return(e.sourceLayer||e.layer)??void 0}async function L({type:e,value:t,event:n}){try{return"function"==typeof t?t(n):await t}catch(r){return void p().error("error",`An error occurred when calling the "${e}" function`,{error:r,graphic:n.graphic,value:t})}}function x(e=""){if(e)return!w.test(e.trim().toLowerCase())}function k(e){return!!e&&b.test(e)}function Z(e){const{fieldInfo:t,graphic:n,layer:r}=e;return function({fieldInfo:e,graphic:t}){return!(!e?.fieldName||k(e.fieldName)||ne(e.fieldName)||t?.popupTemplate)}({fieldInfo:t,graphic:n})?(0,s.p2)(r,{graphic:n}):null}function v({expressionInfos:e,fieldInfo:t,graphic:n,isContentFieldInfos:r,layer:i}){if(!t?.fieldName)return null;const a=function(e,t){if(!t||!k(t)||!e)return;const n=t.replace(b,"").toLowerCase();return e.find(({name:e})=>e.toLowerCase()===n)}(e,t.fieldName);if(a)return a.title||null;const o=Z({fieldInfo:t,graphic:n,layer:i});if(o){const e=o.getFieldAlias(t.fieldName);return r?t.label||e||t.fieldName:e||t.fieldName}return t.label||t.fieldName}function q(e){const{configurableFieldsContainer:t,fieldInfo:n,isContentFieldInfos:r}=e;if(!n?.fieldName)return null;const i=t.popupTemplate||t.fieldConfigurations?t.getFieldConfiguration(n.fieldName)?.fieldFormat:(0,l.iu)(n,t.getField(n.fieldName));return r&&n.fieldFormat||i}function A(e,t){const n=E(t,e);return n?n.name:e}function R(e,t){return e&&e.map(e=>A(e,t))}function E(e,t){return e&&"function"==typeof e.getField&&t?e.getField(t)??null:null}function M(e){return`${e}`.trim()}function U({attributes:e,globalAttributes:t,layer:n,text:r,expressionAttributes:i,fieldInfoMap:a}){return r?j({formattedAttributes:t,template:S(r,{...t,...i,...e},n),fieldInfoMap:a}):""}function j({formattedAttributes:e,template:t,fieldInfoMap:n}){return M(function(e){return e.replaceAll(y,"")}((0,i.HC)((0,i.HC)(t,e=>function(e,t){const n=t.get(e.toLowerCase());return`{${n?.fieldName||e}}`}(e,n)),e)))}function D(e,t){return e.replaceAll(m,(e,n,r)=>{const i=E(t,r);return i?`{${i.name}}`:n})}function S(e,t,n){const r=D(e,n);return r?r.replaceAll(h,(e,n,r)=>function(e,t,n){const r=(t=M(t))&&!t.startsWith("{");return(0,i.HC)(e,function(e,t=!1){const n={...e};return Object.keys(n).forEach(e=>function(e,t,n=!1){const r=t[e];if("string"==typeof r){const i="%27",a=(n?encodeURIComponent(r):r).replaceAll(g,i);t[e]=a}}(e,n,t)),n}(n,r||!1))}(e,n||r,t)):r}function $(e){return null!=e&&"object"==typeof e&&"fieldsIndex"in e&&"geometryType"in e&&"getField"in e&&"load"in e&&"loaded"in e&&"objectIdField"in e&&"spatialReference"in e&&"type"in e&&("feature"===e.type||"scene"===e.type||"subtype-group"===e.type||"subtype-sublayer"===e.type||"sublayer"===e.type)&&"when"in e}function G(e){return null!=e&&"object"==typeof e&&"createQuery"in e&&"queryFeatureCount"in e&&"queryObjectIds"in e&&"queryRelatedFeatures"in e&&"queryRelatedFeaturesCount"in e&&"relationships"in e}function O(e){return $(e)&&G(e)}function z(e){return!(!(e&&"object"==typeof e&&"createQuery"in e&&"getField"in e&&"queryFeatureCount"in e&&"queryFeatures"in e&&"queryObjectIds"in e&&"capabilities"in e&&"fields"in e&&"fieldsIndex"in e&&"type"in e)||"feature"!==e.type&&"subtype-group"!==e.type&&"subtype-sublayer"!==e.type&&"sublayer"!==e.type||!("when"in e))&&("subtype-sublayer"===e.type&&"parent"in e&&e.parent&&"object"==typeof e.parent?"globalIdField"in e.parent:"globalIdField"in e)}function H(e){return!!e&&"object"==typeof e&&"sourceLayer"in e&&O(e.sourceLayer)}function Q(e,t){const{fieldInfos:n,fieldName:r,graphic:i,isContentFieldInfos:a,layer:l,preventPlacesFormatting:s,timeZone:d}=t,c=J(n,r),p=Z({fieldInfo:c,graphic:i,layer:l}),y=E(p||l,r),m=p?null:c?.format,g=p?q({configurableFieldsContainer:p,fieldInfo:c,isContentFieldInfos:a}):null,b="number"===g?.type;if(c&&!(0,u.JL)(r)){const t=y?.type,n="date-time"===g?.type,r=m?.dateFormat;if("date"===t||"date-only"===t||"time-only"===t||"timestamp-offset"===t||n||r)return(0,f.i0)(e,{format:n?void 0:r,fieldFormat:n?g:void 0,fieldType:t,timeZoneOptions:{layerTimeZone:l&&"preferredTimeZone"in l?l.preferredTimeZone:null,viewTimeZone:d,datesInUnknownTimezone:!(!l||!("datesInUnknownTimezone"in l)||!l.datesInUnknownTimezone)}})}if("string"==typeof e&&(0,u.JL)(r)&&m)return function(e,t){return e=e.trim(),/\d{2}-\d{2}/.test(e)?e:e.includes(",")?V(e,",",", ",t):e.includes(";")?V(e,";","; ",t):e.includes(" ")?V(e," "," ",t):(0,o.ZV)(Number(e),(0,o.yx)(t))}(e,m);if("string"==typeof(e=function(e,t){const n="number"===t?.fieldFormat?.type||t?.format&&null==t.format.dateFormat&&(null!=t.format.places||null!=t.format.digitSeparator);if("string"==typeof e&&n){const t=Number(e);if(!isNaN(t))return t}return e}(e,{format:b?void 0:m,fieldFormat:b?g:void 0}))||null==e||null==m&&null==g)return B(e);const I=b?(0,o.Up)(g):m?(0,o.yx)(m):void 0;return(0,o.ZV)(e,s?{...I,minimumFractionDigits:0,maximumFractionDigits:20}:I)}function V(e,t,n,r){return e.trim().split(t).map(e=>(0,o.ZV)(Number(e),(0,o.yx)(r))).join(n)}function J(e,t){if(e?.length&&t)return e.find(e=>e.fieldName?.toLowerCase()===t.toLowerCase())}function P(e,t,n,r){const{creatorField:i,creationDateField:o,editorField:l,editDateField:u}=e;if(!t)return;const s=(0,c.hv)(r&&"preferredTimeZone"in r?r.preferredTimeZone:null,!(!r||!("datesInUnknownTimezone"in r)||!r.datesInUnknownTimezone),n,N,"date"),f={...N,...s},d=t[u];if("number"==typeof d){const e=t[l];return{type:"edit",date:(0,a.Yq)(d,f),user:e}}const p=t[o];if("number"==typeof p){const e=t[i];return{type:"create",date:(0,a.Yq)(p,f),user:e}}return null}function W(e,t){const n=new Map;if(!e)return n;for(const r of e){if(!r.fieldName)continue;const e=A(r.fieldName,t);r.fieldName=e,n.set(e.toLowerCase(),r)}return n}function _(e){const t=[];if(!e)return t;const{fieldInfos:n,content:r}=e;return n&&t.push(...n),r&&Array.isArray(r)?(r.forEach(e=>{if("fields"===e.type){const n=e?.fieldInfos;n&&t.push(...n)}}),t):t}function Y(e){return e.replaceAll(F,e=>`&#${e.charCodeAt(0)};`)}function B(e){return"string"==typeof e?e.replaceAll(I,'<br class="esri-text-new-line" />'):e}function K(e){const{fieldInfoMap:t,fieldInfos:n,fieldName:r,graphic:i,isContentFieldInfos:a,layer:o,timeZone:l,value:s}=e;if(null==s)return"";const d=function({fieldName:e,value:t,graphic:n,layer:r}){if(ne(e))return null;if(!r||"function"!=typeof r.getFieldDomain)return null;const i=n&&r.getFieldDomain(e,{feature:n});return i&&"coded-value"===i.type?i.getName(t):null}({fieldName:r,value:s,graphic:i,layer:o});if(d)return d;const c=function({fieldName:e,graphic:t,layer:n}){if(ne(e))return null;if(!n||"function"!=typeof n.getFeatureType)return null;const{typeIdField:r}=n;if(!r||e!==r)return null;const i=n.getFeatureType(t);return i?i.name:null}({fieldName:r,graphic:i,layer:o});if(c)return c;if(t.get(r.toLowerCase()))return Q(s,{fieldInfos:n||Array.from(t.values()),fieldName:r,graphic:i,isContentFieldInfos:a,layer:o,timeZone:l});const p=o?.fieldsIndex?.get(r);return p&&((0,f.fs)(p)||(0,u.OH)(p))?(0,f.i0)(s,{fieldType:p.type,timeZoneOptions:{layerTimeZone:o&&"preferredTimeZone"in o?o.preferredTimeZone:null,viewTimeZone:l,datesInUnknownTimezone:!(!o||!("datesInUnknownTimezone"in o)||!o.datesInUnknownTimezone)}}):B(s)}function X({attributes:e,fieldInfoMap:t,fieldInfos:n,graphic:r,isContentFieldInfos:i,layer:a,relatedInfos:o,timeZone:l}){const u={};return o?.forEach(e=>function({attributes:e,relatedInfo:t,fieldInfoMap:n,fieldInfos:r,layer:i,timeZone:a}){e&&t&&(t.relatedFeatures?.forEach(o=>re({attributes:e,graphic:o,relatedInfo:t,fieldInfoMap:n,fieldInfos:r,layer:i,timeZone:a})),t.relatedStatsFeatures?.forEach(o=>re({attributes:e,graphic:o,relatedInfo:t,fieldInfoMap:n,fieldInfos:r,layer:i,timeZone:a})))}({attributes:u,relatedInfo:e,fieldInfoMap:t,fieldInfos:n,layer:a,timeZone:l})),e&&Object.keys(e).forEach(o=>{const s=e[o];u[o]=K({fieldInfoMap:t,fieldInfos:n,fieldName:o,graphic:r,isContentFieldInfos:i,layer:a,timeZone:l,value:s})}),u}async function ee(e,t){const{layer:n,graphic:r,outFields:i,objectIds:a,returnGeometry:o,spatialReference:l}=e,u=a[0];if("number"!=typeof u&&"string"!=typeof u){const e="Could not query required fields for the specified feature. The feature's ID is invalid.",t={layer:n,graphic:r,objectId:u,requiredFields:i};return p().warn(e,t),null}if(!(0,s.BR)(n)?.operations?.supportsQuery){const e="The specified layer cannot be queried. The following fields will not be available.",t={layer:n,graphic:r,requiredFields:i,returnGeometry:o};return p().warn(e,t),null}const f=n.createQuery();return f.objectIds=a,f.outFields=i?.length?i:[n.objectIdField],f.returnGeometry=!!o,f.returnZ=!!o,f.returnM=!!o,f.outSpatialReference=l,(await n.queryFeatures(f,t)).features[0]}async function te({graphic:e,popupTemplate:t,layer:n,spatialReference:r},i){if(!n||!t)return;if("function"==typeof n.load&&await n.load(i),!e.attributes)return;const a=n.objectIdField,o=e.attributes[a];if(null==o)return;const l=[o],s=new Set(await t.getRequiredFields(n.fieldsIndex));null==n.timeInfo?.trackIdField||s.has(n.timeInfo.trackIdField)||await async function(e){if(!e.expressionInfos?.length)return!1;const t=await(0,d.l)(),{arcadeUtils:{requiresTrack:n}}=t;return n(e)}(t)&&s.add(n.timeInfo.trackIdField);const f=(0,u.Kl)(e,s),c=f?[]:s.has(a)?[...s]:[...s,a],p=t.returnGeometry||await async function(e){if(!e.expressionInfos?.length)return!1;const t=await(0,d.l)(),{arcadeUtils:{hasGeometryFunctions:n}}=t;return n(e)}(t);if(f&&!p)return;const y=await ee({layer:n,graphic:e,outFields:c,objectIds:l,returnGeometry:p,spatialReference:r},i);y&&(y.geometry&&(e.geometry=y.geometry),y.attributes&&(e.attributes={...e.attributes,...y.attributes}))}function ne(e=""){return!!e&&e.includes(T)}function re({attributes:e,graphic:t,relatedInfo:n,fieldInfos:r,fieldInfoMap:i,layer:a,timeZone:o}){e&&t&&n&&Object.keys(t.attributes).forEach(l=>{const u=function(e){return e?`${T}${e.layerId}/${e.fieldName}`:""}({layerId:n.relation.id.toString(),fieldName:l}),s=t.attributes[l];e[u]=K({fieldName:u,fieldInfos:r,fieldInfoMap:i,layer:a,value:s,graphic:t,timeZone:o})})}const ie=e=>{if(!e)return!1;const t=e.toUpperCase();return t.includes("CURRENT_TIMESTAMP")||t.includes("CURRENT_DATE")||t.includes("CURRENT_TIME")},ae=({layer:e,method:t,query:n,definitionExpression:r})=>{if(!e.capabilities?.query?.supportsCacheHint||"attachments"===t)return;const i=null!=n.where?n.where:null,a=null!=n.geometry?n.geometry:null;ie(r)||ie(i)||"extent"===a?.type||"tile"===n.resultType||(n.cacheHint=!0)},oe=({query:e,layer:t,method:n})=>{ae({layer:t,method:n,query:e,definitionExpression:`${t.definitionExpression} ${t.serviceDefinitionExpression??""}`})},le=({queryPayload:e,layer:t,method:n})=>{ae({layer:t,method:n,query:e,definitionExpression:`${t.definitionExpression} ${t.serviceDefinitionExpression??""}`})};function ue(e,t,n){return e&&t&&n?"sublayer"===t.type?de({layers:t.layer?.allSublayers,map:e,relatedLayer:t,relationship:n})||de({layers:t.layer?.subtables,map:e,relatedLayer:t,relationship:n}):de({layers:e.allLayers,map:e,relatedLayer:t,relationship:n})||de({layers:e.allTables,map:e,relatedLayer:t,relationship:n}):null}function se(e,t){return e&&"utilityNetworks"in e&&t?e.utilityNetworks?.find(e=>e.isUtilityLayer(t)):null}function fe(e,t){return e?.allTables.find(e=>"feature"===e.type&&e.layerId===t.id&&e.url===t.layer?.url)}function de({map:e,relationship:t,relationship:{relatedTableId:n},relatedLayer:r,layers:i}){if(!i)return null;for(const a of i){if("map-image"===a.type){const n=de({layers:a.sublayers,map:e,relatedLayer:r,relationship:t})||de({layers:a.subtables,map:e,relatedLayer:r,relationship:t});if(n)return n;continue}if(!O(a))continue;if("sublayer"===r.type){if(a!==r&&a.id===n)return a.isTable?fe(e,a):a;continue}const i="scene"===r.type&&r.associatedLayer?r.associatedLayer.url:r.url;if(!i)return null;if("sublayer"!==a.type){if(a!==r&&a.url===i&&a.layerId===n)return a}else if(a!==r&&a.layer?.url===i&&a.id===n)return a.isTable?fe(e,a):a}return null}}}]);