@arcgis/common-components 5.2.0-next.74 → 5.2.0-next.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/45MVMHKS.js +2 -0
- package/dist/cdn/index.js +1 -1
- package/dist/components/arcgis-field-info/customElement.js +106 -106
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/package.json +4 -4
- package/dist/cdn/BAMLORLB.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a as k,b as j,c as R,d as P,e as y,f as z,g as _,h as F,i as B,j as K,k as q,l as E,m as S,n as X,o as Y,p as L,q as V,r as T,s as A}from"./Z5QBBHLD.js";import{a as J,b as p}from"./O3W35LFP.js";import{a as Q}from"./PWYX2MLC.js";import"./L6PNCJWB.js";import"./TWW63D32.js";import{a as $}from"./MU3XP7TW.js";import{C as b,D as U,E as I,J as G,h as H,j as u,n as N,o as D,s as x}from"./4XUU4OUP.js";export default $arcgis.t(([se,C,h,W,O,ae,re,ee,ne])=>{function oe(a){return a.associatedLayer?.url}var le={dateStyle:"short",timeStyle:"short"},de={timeStyle:"medium"};function ue(a){let{layer:e,fieldName:t}=a,i,r=W.supportsFieldConfiguration(e),s;"popupTemplate"in e&&(s=e.popupTemplate);let o=s?s.fieldInfos:[];return ie(a)?.filter(d=>d.name===t).forEach(d=>{let n=!r&&o?o.filter(c=>c.fieldName===d.name):void 0,m=r?e.getFieldAlias(t):n?.length?n[0].label:d.alias;/^raster.(item|service)pixelvalue/iu.test(t)&&(d.type="double");let l={layerField:d,label:m||d.name};l.codedValues=fe(t,a),pe(l),l.simpleFieldType&&(i=l)}),i}function ie(a){let{layer:e}=a;return F(e)||T(e)||_(e)&&e.rasterFields.length?e.rasterFields:e.fields}async function te(a){a.statisticsStatus="in-progress";let{layer:e,view:t}=a;if(F(e)||T(e)||S(e)||V(e))throw new Error("could not get feature count");try{return await ge(e,t)}catch{return}}async function ce(a){let{layer:e,view:t,fieldName:i,fieldInfo:r}=a;if(F(e)||T(e)||V(e))throw new Error("could not get statistics for ImageryTileLayer/WCSLayer/VoxelLayer");if(!r||r.layerField.type==="oid"||r.layerField.type==="guid"||r.layerField.type==="global-id")return{totalCount:await te(a),nullcount:0};try{let s=await ae({layer:e,view:t,field:i,outStatisticTypes:{exclude:["median"]}});if(!p(s.count))throw new Error("could not get statistics");let o="sourceJSON"in e&&e.sourceJSON.maxRecordCount===s.count;if(p(s.nullcount)&&!o)return{...s,totalCount:s.count+s.nullcount};{let d=await te(a);return{...s,totalCount:d}}}catch{throw new Error("could not get statistics")}}async function me(a){let{layer:e,view:t,fieldName:i}=a;if(F(e)||T(e)||V(e))throw new Error("could not get unique values for ImageryLayer/ImageryTileLayer/WCSLayer/VoxelLayer");P(e)&&(e.outFields=["*"]);try{return await re({layer:e,view:t,field:i})}catch{throw new Error("could not get unique values")}}function pe(a){switch(a.layerField.type){case"string":a.simpleFieldType="string";break;case"date":a.simpleFieldType="date";break;case"timestamp-offset":a.simpleFieldType="timestamp-offset";break;case"date-only":a.simpleFieldType="date-only";break;case"time-only":a.simpleFieldType="time-only";break;case"oid":a.simpleFieldType="oid";break;case"guid":case"global-id":a.simpleFieldType="guid";break;case"small-integer":case"big-integer":case"integer":case"single":case"double":case"long":a.simpleFieldType="number";break;default:a.simpleFieldType="string"}}function fe(a,e){let{layer:t}=e;if(L(t)&&t.subtypeField===a){let n=t.parent?.subtypes?.find(m=>m.code===t.subtypeCode);if(n)return[new ee({code:n.code,name:n.name})]}if(!y(t)&&!_(t))return;let i=y(t)?t.typeIdField:void 0,r=y(t)?t.types:void 0,s,o=ie(e)?.find(n=>n.name===a),d=o?.domain;return y(t)&&i&&r?(i===a?s=r.map(n=>new ee({code:n.id,name:n.name})):(s=[],r.forEach(n=>{if(!n.domains[a]||n.domains[a].type==="inherited"){let m=d;m?.codedValues&&m.codedValues.forEach(l=>{let c=!1;s.forEach(g=>{g.code===l.code&&(c=!0,`, ${g.name},`.includes(`, ${l.name},`)||(g.name+=`, ${l.name}`))}),c||s.push(O.clone(l))})}else n.domains[a].codedValues&&n.domains[a].codedValues.forEach(m=>{let l=!1;s.forEach(c=>{c.code===m.code&&(l=!0,`, ${c.name},`.includes(`, ${m.name},`)||(c.name+=`, ${m.name}`))}),l||s.push(O.clone(m))})})),!s.length&&d?.codedValues&&(s=O.clone(d.codedValues))):d?.codedValues&&(s=o?.domain?.codedValues),s?.length?s:void 0}async function he(a){let{view:e,layer:t}=a;if(_(t)||F(t)||T(t))throw new Error("could not get feature");if(y(t)&&!t.url||A(t)){let i=t.createQuery();i.start=0,i.num=5,i.outFields=["*"];let r=await t.queryFeatures(i);if(r.features.length)return r;throw new Error("could not get feature")}else{if(!e)return await Z(a);let i;if(L(t)||X(t)){let s=t.parent;for(;Y(s)||K(s);)s=s.parent;B(s)&&(i=await e.whenLayerView(s))}else i=await e.whenLayerView(t);let r=i.availableFields.length===t.fields.length;if(i&&(r||(S(t)||q(t))&&i.availableFields.length>0)){let s=i.createQuery();s.start=0,s.num=5,s.outFields=["*"];let o=await i.queryFeatures(s);return o.features?.length?o:await Z(a)}else return await Z(a)}}async function Z(a){let{layer:e}=a;if(_(e)||F(e)||S(e)||q(e))throw new Error("cannot get feature from service");let t=new ne({where:"1=1",outFields:["*"],returnGeometry:!1});return"sourceJSON"in e&&e.sourceJSON?.advancedQueryCapabilities?.supportsPagination&&(t.num=1),await e.queryFeatures(t)}async function ge(a,e){if(P(a))return await ve(a);if(y(a)||j(a)||E(a)||A(a)||z(a))return await a.queryFeatureCount();if(e&&(S(a)||q(a)))return await ye(a,e)}async function ve(a){let e=a.createQuery();e.outFields=["*"];let t=await a.queryFeatures(e);if(t.features.length)return t.features.length;throw new Error("could not get feature count")}async function ye(a,e){return await(await e.whenLayerView(a)).queryFeatureCount()}var Fe=H`:host{height:100%}.container{padding:var(--calcite-space-xs);background-color:var(--calcite-color-surface-2)}.title{font-weight:700;padding:5px 0}.missing,.data{color:#a9a9a9}.count{white-space:nowrap}.section{padding:var(--calcite-space-xs) 0}.statistics-row{border-top:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);padding:var(--calcite-space-xs) 0;display:flex;justify-content:space-between}.statistics-row-top-values{border-top:var(--calcite-border-width-sm) solid var(--calctie-color-border-2);padding:20px 0 var(--calcite-space-xs) 0;display:flex;justify-content:space-between}`,M=class extends U{constructor(){super(...arguments),this._messages=Q({blocking:!0}),this.initialized=!1,this._propWatcherTask=new J(this,{task:async([e,t])=>{let i=p(e)&&p(t);if(p(e)||N("error",this,D("layer")),p(t)||N("error",this,D("fieldName")),!i)throw new Error;await this.processProps(),this._propWatcherTask.autoRun=!1},args:()=>[this.layer,this.fieldName]}),this.oneFeatureResponseStatus="missing",this.statisticsStatus="missing",this.uniqueValuesStatus="missing",this.hideAlias=!1,this.hideNumericFormat=!1,this.hideStatistics=!1,this.arcgisComplete=x(),this.arcgisFieldInfoComplete=x()}static{this.properties={oneFeatureResponseStatus:16,oneFeatureResponse:16,statisticsStatus:16,statistics:16,uniqueValuesStatus:16,uniqueValues:16,view:0,layer:0,fieldName:1,hideAlias:5,hideNumericFormat:5,hideStatistics:5}}static{this.styles=Fe}async refresh(){await this.processProps(),this.requestUpdate()}async willUpdate(e){this.initialized&&(e.has("fieldName")||e.has("layer"))&&await this.processProps()}disconnectedCallback(){super.disconnectedCallback(),this.timeZoneHandle?.remove()}async processProps(){let{view:e,layer:t,fieldName:i,hideStatistics:r}=this;if(!t||!i)return;let s;if(t.declaredClass==="esri.layers.support.Sublayer"){let o=t;e&&await C.whenOnce(()=>!e.updating),s=await o.createFeatureLayer(),await s?.load()}if(this.oneFeatureResponseStatus="missing",this.oneFeatureResponse=void 0,this.statisticsStatus="missing",this.statistics=void 0,this.uniqueValuesStatus="missing",this.uniqueValues=void 0,this.props={view:e,layer:s??t,fieldName:i,hideStatistics:r},this.props.fieldInfo=ue(this.props),!this.props.fieldInfo){N("error",this,`Field ${i} does not exist in layer.`);return}E(t)&&se.request.interceptors?.push({urls:`${oe(t)}/${t.layerId}`,before(o){o.requestOptions.authMode="no-prompt"}}),this.processPropsPart2()}async processPropsPart2(){let{layer:e,hideStatistics:t}=this;if(await this.requestOneFeature(),S(e)||k(e)||R(e)){this.uniqueValuesStatus="failed",this.statisticsStatus="failed";return}t?this.uniqueValuesStatus="failed":await this.requestUniqueValues(),t?this.statisticsStatus="failed":await this.requestStatistics(),this.setUpTimeZoneHandle(),this.initialized=!0}async requestOneFeature(){this.oneFeatureResponseStatus="in-progress";try{let e=await he(this.props);this.oneFeatureResponse=e,this.oneFeatureResponseStatus="success"}catch{this.oneFeatureResponseStatus="failed"}}async requestUniqueValues(){return this.uniqueValuesStatus="in-progress",await new Promise(async e=>{try{let t=await me(this.props);this.uniqueValues=t,t?.uniqueValueInfos?.length?this.uniqueValuesStatus="success":this.uniqueValuesStatus="failed"}catch{this.uniqueValuesStatus="failed"}finally{e()}})}async requestStatistics(){return await new Promise(async e=>{try{let t=await ce(this.props);if(!p(t.totalCount)&&p(t.count)&&this.uniqueValuesStatus==="success"){let i=this.uniqueValues?.uniqueValueInfos??[];for(let r=0;r<i.length;r++){let s=i[r];if(s.value===null){t.totalCount=s.count+t.count;break}}t.totalCount??=t.count}this.statistics=t,this.statisticsStatus="success"}catch{this.statisticsStatus="failed"}finally{e()}})}setUpTimeZoneHandle(){this.timeZoneHandle?.remove();let{props:e}=this,{view:t,fieldInfo:i}=e;["date","timestamp-offset"].includes(this._getStatisticsType(i))&&(this.timeZoneHandle=C.watch(()=>t?.timeZone,()=>this.requestUpdate()))}_getFieldTypeLabel(e){let{_messages:t}=this,i=t.fieldTypes;switch(e){case"big-integer":return i.bigInteger;case"date":return i.date;case"date-only":return i.dateOnly;case"double":return i.double;case"global-id":return i.globalId;case"guid":return i.guid;case"integer":return i.integer;case"long":return i.long;case"oid":return i.oid;case"single":return i.single;case"small-integer":return i.smallInteger;case"string":return i.string;case"time-only":return i.timeOnly;case"timestamp-offset":return i.timestampOffset;default:return i.string}}_getStatisticsType(e){switch(e.layerField.type){case"big-integer":case"double":case"integer":case"single":case"small-integer":{if(e.codedValues)return"string";switch(e.layerField.valueType){case"url":case"binary":case"description":case"location-or-place-name":case"name-or-title":case"ordered-or-ranked":case"type-or-category":return"string";default:return"number"}}case"date":return"date";case"date-only":return"date-only";case"string":return"string";case"time-only":return"time-only";case"timestamp-offset":return"timestamp-offset";default:return"string"}}_getFieldValueTypeCamelCase(e){switch(e.layerField.valueType){case"count-or-amount":return"countOrAmount";case"date-and-time":return"dateAndTime";case"location-or-place-name":return"locationOrPlaceName";case"name-or-title":return"nameOrTitle";case"ordered-or-ranked":return"orderedOrRanked";case"percentage-or-ratio":return"percentageOrRatio";case"type-or-category":return"typeOrCategory";case"unique-identifier":return"uniqueIdentifier";case"phone-number":return"phoneNumber";case"email-address":return"emailAddress";default:return e.layerField.valueType??void 0}}_getDisplayString(e,t){let{props:i}=this,{fieldInfo:r}=i;switch(r.simpleFieldType){case"date":return this._getDateString(e,t);case"date-only":return this._getDateOnlyString(e,t);case"guid":return this._getGuidString(e);case"number":return this._getNumberString(e,t);case"time-only":return this._getTimeOnlyString(e,t);case"timestamp-offset":return this._getTimestampOffsetString(e,t);default:return`${e}`}}_getDateString(e,t){let{view:i}=this.props;return i&&i.timeZone==="unknown"?h.formatDate(e,{...this.getIntlDateTimeFormattingOptions("short-date-short-time",t),timeZone:"utc"}):h.formatDate(e,{...this.getIntlDateTimeFormattingOptions("short-date-short-time",t),timeZone:i?.timeZone||"system"})}_getTimestampOffsetString(e,t){let{view:i}=this.props;return typeof e=="string"?i&&i.timeZone==="unknown"?h.formatTimestamp(e,{...this.getIntlDateTimeFormattingOptions("short-date-short-time",t),timeZone:"utc"}):h.formatTimestamp(e,{...this.getIntlDateTimeFormattingOptions("short-date-short-time",t),timeZone:i?.timeZone||"system"}):this._getDateString(e,t)}_getDateOnlyString(e,t){return h.formatDateOnly(e,this.getIntlDateTimeFormattingOptions("short-date",t))}_getTimeOnlyString(e,t){return typeof e=="string"?h.formatTimeOnly(e,this.getIntlDateTimeFormattingOptions("short-date-long-time",t)):h.formatDate(e,{...this.getIntlDateTimeFormattingOptions("long-time",{...t,isTimeOnly:!0}),timeZone:"utc"})}_getGuidString(e){return e.startsWith("{")?e:`{${e}}`}_getNumberString(e,t){let i=t?.useFieldFormatting?e:Math.round(e*100)/100;return h.formatNumber(i,this.getIntlNumberFormattingOptions(t))}_printNumValue(e,t){return p(e)?this._getNumberString(e,t):"--"}_setCompleteRef(e){if(this.completeRefHandler&&clearInterval(this.completeRefHandler),e){let t=0;this.completeRefHandler=setInterval(()=>{(t>130||this.isFinished(this.uniqueValuesStatus)&&this.isFinished(this.statisticsStatus))&&(clearInterval(this.completeRefHandler),this.arcgisComplete.emit(),this.arcgisFieldInfoComplete.emit()),t++},1e3)}}getCurrentFieldFormat(){let{props:e}=this,{layer:t,fieldName:i}=e;return(this.originalLayerSupportsFieldConfigs()?t.getFieldConfiguration(i):void 0)?.fieldFormat??void 0}getIntlNumberFormattingOptions(e){let t=this.getCurrentFieldFormat();if(!e?.useFieldFormatting)return t?{useGrouping:["always","auto"].includes(t.useGrouping)}:h.convertNumberFormatToIntlOptions({digitSeparator:this.getPopupTemplateFieldInfo()?.format?.digitSeparator??!0});let i=t?{minimumFractionDigits:t.minimumFractionDigits,maximumFractionDigits:t.maximumFractionDigits,useGrouping:["always","auto"].includes(t.useGrouping)}:void 0;if(i)return i;let r=this.getPopupTemplateFieldInfo();return h.convertNumberFormatToIntlOptions({digitSeparator:r?.format?.digitSeparator??!0,places:r?.format?.places??2})}getIntlDateTimeFormattingOptions(e,t){let i=this.getCurrentFieldFormat();if(!t?.useFieldFormatting)return i?t?.isTimeOnly?de:le:h.convertDateFormatToIntlOptions(e);let r=i?{dateStyle:t?.isTimeOnly?void 0:i.dateStyle??void 0,year:i.dateStyle?void 0:i.year??void 0,month:i.dateStyle?void 0:i.month??void 0,timeStyle:i.timeStyle??void 0,hourCycle:i.hour12==="never"?"h23":"h11"}:void 0;if(r)return r;let s=this.getPopupTemplateFieldInfo();return h.convertDateFormatToIntlOptions(s?.format?.dateFormat??e)}originalLayerSupportsFieldConfigs(){let{layer:e}=this;return W.supportsFieldConfiguration(e)}getPopupTemplateFieldInfo(){let{props:e}=this,{layer:t,fieldName:i}=e;return("popupTemplate"in t?t.popupTemplate:void 0)?.fieldInfos?.find(r=>r.fieldName===i)}isFinished(e){return["success","failed"].includes(e)}render(){return this._propWatcherTask.render({pending:()=>u`<calcite-scrim loading></calcite-scrim>`,complete:()=>{let{props:e}=this,{fieldInfo:t}=e;return t?u`<div class="container">${this.renderFieldType()}${this.renderFieldAlias()}${this.renderFieldDescription()}${this.renderFieldValueType()}${this.renderFieldSampleValue()}${this.renderFieldNumericFormat()}${this.renderFieldStatistics()}</div>`:""},error:()=>""})}renderFieldType(){let{_messages:e,props:t}=this,{fieldInfo:i}=t,r=this._getFieldTypeLabel(i.layerField.type);return u`<div class="section"><div class="title">${e.fieldType}</div><div>${r}</div></div>`}renderFieldAlias(){let{_messages:e,props:t,hideAlias:i}=this,{fieldInfo:r}=t;return i?"":u`<div class="section"><div class="title">${e.fieldAlias}</div><div>${r.label}</div></div>`}renderFieldDescription(){let{_messages:e,props:t}=this,{layer:i}=t;if(!y(i))return"";let{fieldInfo:r}=t,s=r.layerField.description;return u`<div class="section"><div class="title">${e.fieldDescription}</div><div class=${I({missing:!s})}>${s||e.fieldDescriptionNotSet}</div></div>`}renderFieldValueType(){let{_messages:e,props:t}=this,{layer:i}=t;if(!y(i))return"";let{fieldInfo:r}=t,s=this._getFieldValueTypeCamelCase(r);return u`<div class="section"><div class="title">${e.fieldValueType}</div><div class=${I(s?"":"missing")}>${s?e.fieldValueTypes[s]:e.fieldValueTypeNotSet}</div></div>`}renderFieldSampleValue(){let{oneFeatureResponse:e,oneFeatureResponseStatus:t,statisticsStatus:i,statistics:r,uniqueValuesStatus:s,uniqueValues:o,_messages:d,props:n}=this,{layer:m,fieldName:l,fieldInfo:c}=n,{statistics:g}=d,f;if(F(m)||V(m)||!S(m)&&["string","oid","guid"].includes(this._getStatisticsType(c))&&s!=="failed")return"";t==="success"?e.features.forEach(v=>{(f===void 0||f===null&&v.attributes[l]!==null)&&(f=v.attributes[l])}):i==="success"?f=r?.min??void 0:s==="success"&&(f=o?.uniqueValueInfos?.[0]?.value??o?.uniqueValueInfos?.[1]?.value??void 0);let w=c.codedValues;return p(f)&&(w?f=w.find(v=>f===v.code)?.name||f:f=this._getDisplayString(f,{useFieldFormatting:!0})),u`<div class="section"><div class="title">${d.fieldSampleValue}</div><div class=${I(t==="failed"&&i==="failed"&&s==="failed"||!p(f)?"missing":"")}>${t==="success"||i==="success"||s==="success"?f?.toString()??g.allNulls:t==="failed"&&i==="failed"&&s==="failed"?d.fieldSampleNotAvailable:d.fieldSampleRetrieving}</div></div>`}renderFieldNumericFormat(){let{_messages:e,props:t,hideNumericFormat:i}=this,{fieldName:r,fieldInfo:s,layer:o}=t;if(i||!["double","long","single"].includes(s.layerField.type))return"";let d=this.originalLayerSupportsFieldConfigs()?o.getFieldConfiguration(r):void 0;if(d?.fieldFormat){let{minimumFractionDigits:m,maximumFractionDigits:l}=d.fieldFormat;return u`<div class="section"><div class="title">${e.fieldDecimalPlaces}</div><div>${e.fieldMinimumFractionDigits.replace("${number}",m.toString())}</div><div>${e.fieldMaximumFractionDigits.replace("${number}",l.toString())}</div></div>`}let n="popupTemplate"in o?o.popupTemplate:void 0;if(n?.fieldInfos){let m=n.fieldInfos?.filter(l=>l.fieldName===r);if(m?.length){let l=m[0];if(p(l?.format?.places)){let c=l.format.places;return u`<div class="section"><div class="title">${e.fieldDecimalPlaces}</div><div>${e.fieldNumDecimalPlaces.replace("${number}",c.toString())}</div></div>`}}}return u`<div class="section"><div class="title">${e.fieldDecimalPlaces}</div><div class="missing">${e.fieldDecimalPlacesNotAvailable}</div></div>`}renderFieldStatistics(){let{statisticsStatus:e,uniqueValuesStatus:t,hideStatistics:i,_messages:r,props:s}=this,{layer:o,fieldInfo:d}=s;return i?(this.arcgisComplete.emit(),this.arcgisFieldInfoComplete.emit(),""):k(o)||R(o)||S(o)||F(o)||V(o)||["long"].includes(d.layerField.type)?(this.arcgisComplete.emit(),this.arcgisFieldInfoComplete.emit(),""):u`<div class="section"><div class="title">${r.fieldStatistics}</div>${!this.isFinished(t)&&!this.isFinished(e)?this.renderWaitingForStatistics():e==="failed"&&t==="failed"?this.renderNoStatistics():this.renderStatistics()}</div>`}renderWaitingForStatistics(){let{_messages:e}=this;return $("field-info-statistics-content",u`<div class="missing">${e.fieldStatisticsRetrieving}</div>`)}renderNoStatistics(){let{_messages:e}=this;return $("field-info-statistics-content",u`<div class="missing" ${b(this._setCompleteRef)}>${e.fieldStatisticsNotAvailable}</div>`)}renderStatistics(){let{props:e}=this,{fieldInfo:t}=e;switch(this._getStatisticsType(t)){case"number":return this.renderNumberStatistics();case"guid":case"oid":case"string":return this.renderStringStatistics();case"date":case"date-only":case"time-only":case"timestamp-offset":return this.renderDateStatistics();default:return""}}renderNumberStatistics(){let{statistics:e,uniqueValuesStatus:t,statisticsStatus:i,_messages:r}=this;if(!e)return this.isFinished(t)&&this.isFinished(i)?this.renderNoStatistics():this.renderWaitingForStatistics();let{statistics:s}=r;return $("field-info-statistics-content",u`<div ${b(this._setCompleteRef)}><div class="statistics-row"><div>${s.numberOfValues}</div><div class="data">${this._printNumValue(e.totalCount)}</div></div>${p(e.sum)?u`<div class="statistics-row"><div>${s.sumOfValues}</div><div class="data">${this._printNumValue(e.sum)}</div></div>`:null}${p(e.min)?u`<div class="statistics-row"><div>${s.minimum}</div><div class="data">${this._printNumValue(e.min)}</div></div>`:null}${p(e.max)?u`<div class="statistics-row"><div>${s.maximum}</div><div class="data">${this._printNumValue(e.max)}</div></div>`:null}${p(e.avg)?u`<div class="statistics-row"><div>${s.average}</div><div class="data">${this._printNumValue(e.avg)}</div></div>`:null}${p(e.stddev)?u`<div class="statistics-row"><div>${s.standardDeviation}</div><div class="data">${this._printNumValue(e.stddev)}</div></div>`:null}${this.renderNullValues()}</div>`)}renderStringStatistics(){let{statistics:e,uniqueValuesStatus:t,_messages:i}=this,{statistics:r}=i;return $("field-info-statistics-content",u`<div ${b(this._setCompleteRef)}><div class="statistics-row"><div>${r.numberOfValues}</div>${t!=="success"?u`<div class="missing">--</div>`:u`<div class="data">${this._printNumValue(e?.totalCount)}</div>`}</div>${this.renderNullValues()}${this.renderTopValues()}</div>`)}renderDateStatistics(){let{statistics:e,view:t,props:i,uniqueValuesStatus:r,statisticsStatus:s,_messages:o}=this,{fieldInfo:d}=i;if(!e||!p(e.max)||!p(e.min))return this.isFinished(r)&&this.isFinished(s)?this.renderNoStatistics():this.renderWaitingForStatistics();let{statistics:n}=o,m=e.max-e.min,l=Math.floor(m/31536e6),c=Math.floor((m-l*31536e6)/2628e6),g=Math.ceil((m-c*2628e6)/864e5);g>=30&&(c+=1,g=0);let f=l===1?n.timeSpanOptions.year:l>1?n.timeSpanOptions.years.replace("${years}",l.toString()):"";f+=l>0&&(c>0||g>0)?", ":"",f+=c===1?n.timeSpanOptions.month:c>1?n.timeSpanOptions.months.replace("${months}",c.toString()):"",f+=c>0&&g>0?", ":"",f+=g===1?n.timeSpanOptions.day:g>1?n.timeSpanOptions.days.replace("${days}",g.toString()):"";let w=d.simpleFieldType!=="timestamp-offset"||!t||t.timeZone!=="unknown",v=d.simpleFieldType==="time-only";return $("field-info-statistics-content",u`<div ${b(this._setCompleteRef)}><div class="statistics-row"><div>${n.numberOfValues}</div><div class="data">${this._printNumValue(e?.totalCount)}</div></div>${w&&p(e.min)?u`<div class="statistics-row"><div>${v?n.minimumTime:n.minimumDate}</div><div class="data">${this._getDisplayString(e.min)}</div></div>`:null}${w&&p(e.max)?u`<div class="statistics-row"><div>${v?n.maximumTime:n.maximumDate}</div><div class="data">${this._getDisplayString(e.max)}</div></div>`:null}${w&&p(e.avg)?u`<div class="statistics-row"><div>${v?n.averageTime:n.averageDate}</div><div class="data">${this._getDisplayString(e.avg)}</div></div>`:null}${w&&!v&&p(e.min)&&p(e.max)&&m>0?u`<div class="statistics-row"><div>${n.timespan}</div><div class="data">${f}</div></div>`:null}${this.renderNullValues()}</div>`)}renderTopValues(){let{uniqueValues:e,uniqueValuesStatus:t,_messages:i,props:r}=this,{fieldInfo:s}=r,{statistics:o}=i;if(e?.uniqueValueInfos?.length){let d=e.uniqueValueInfos;d.sort((l,c)=>l.count<c.count?1:l.count>c.count?-1:0);let n=s.codedValues,m=d.filter(l=>l.value!==null).filter((l,c)=>l&&c<10).map(l=>{let c=l.value;return n?n.forEach(g=>{c===g.code&&(c=g.name)}):c=this._getDisplayString(c),u`<div class="statistics-row"><div class="data">${`${c}`}</div><div class="count">${this._printNumValue(l.count)}</div></div>`});return m.length?u`<div><div class="statistics-row-top-values"><div>${d.length>10?o.topTenValues:o.topValues}</div><div>${o.count}</div></div>${m}</div>`:""}else return u`<div><div class="statistics-row-top-values"><div>${o.topValues}</div><div>${o.count}</div></div><div class="statistics-row"><div class="missing">${t==="failed"?i.fieldUniqueValuesNotAvailable:i.fieldSampleRetrieving}</div></div></div>`}renderNullValues(){let{statistics:e,uniqueValues:t,_messages:i}=this,{statistics:r}=i,s=e?.nullcount;if(!p(s)&&t){let o=t.uniqueValueInfos;for(let d=0;d<o.length;d++){let n=o[d];if(n.value===null){s=n.count;break}}}return u`<div class="statistics-row"><div>${r.numberOfNulls}</div>${p(s)?u`<div class="data">${this._printNumValue(s)}</div>`:u`<div class="missing">--</div>`}</div>`}};G("arcgis-field-info",M);return M},"config","core/reactiveUtils","intl","applications/PortalApp/layerUtils","core/lang","smartMapping/statistics/summaryStatistics","smartMapping/statistics/uniqueValues","layers/support/CodedValue","rest/support/Query")
|
package/dist/cdn/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{I as a,x as e}from"./4XUU4OUP.js";var i=e(a,{"arcgis-ckeditor5":[()=>import("./M7GRLXXP.js"),"canResizeVertically,currentLanguage,customConfig,customExpressionCheck:,editorType,groupFieldsAndExpressions,intlExpressionsGroupHeading,intlFieldsGroupHeading,intlTextPlaceHolder,mentionFields:,readOnly,textData;getData,setFocus"],"arcgis-ckeditor5-popover":[()=>import("./QSPFNHZ6.js"),"guid,intlCancel,intlLabel,intlOk,refElement:;reposition"],"arcgis-color-input":[()=>import("./EGEAKIAD.js"),"_messages:,clearable,color,compact,disabled,hideRecentColors,messageOverrides:,placement,popoverProps:,showTransparency,storageId;close,setFocus;isOpen"],"arcgis-coordinate-system-picker":[()=>import("./X2G4GAGR.js"),"_messages:,autoFilterToDefault,defaultWkid,filterEnabled,hideCategories:,value:;getSRDescription"],"arcgis-coordinate-system-picker-tree":[()=>import("./A4KQMXWW.js"),"data:,value"],"arcgis-field-info":[()=>import("./
|
|
2
|
+
import{I as a,x as e}from"./4XUU4OUP.js";var i=e(a,{"arcgis-ckeditor5":[()=>import("./M7GRLXXP.js"),"canResizeVertically,currentLanguage,customConfig,customExpressionCheck:,editorType,groupFieldsAndExpressions,intlExpressionsGroupHeading,intlFieldsGroupHeading,intlTextPlaceHolder,mentionFields:,readOnly,textData;getData,setFocus"],"arcgis-ckeditor5-popover":[()=>import("./QSPFNHZ6.js"),"guid,intlCancel,intlLabel,intlOk,refElement:;reposition"],"arcgis-color-input":[()=>import("./EGEAKIAD.js"),"_messages:,clearable,color,compact,disabled,hideRecentColors,messageOverrides:,placement,popoverProps:,showTransparency,storageId;close,setFocus;isOpen"],"arcgis-coordinate-system-picker":[()=>import("./X2G4GAGR.js"),"_messages:,autoFilterToDefault,defaultWkid,filterEnabled,hideCategories:,value:;getSRDescription"],"arcgis-coordinate-system-picker-tree":[()=>import("./A4KQMXWW.js"),"data:,value"],"arcgis-field-info":[()=>import("./45MVMHKS.js"),"_messages:,fieldName,hideAlias,hideNumericFormat,hideStatistics,layer:,view:;refresh"],"arcgis-field-pick-list":[()=>import("./M7LOQA5N.js"),"_messages:,customExpressionCheck:,expressionsGroupHeading,fields:,fieldsGroupHeading,filterNoResultsText,filterPlaceholderText,groupFieldsAndExpressions,heading,hideCancel,hideSort,layer:,listOnly,mapView:,multiple,okBtnText,popoverProps:,selectedFields:,showCancel,showDescription,showFieldInfo,showFieldName,showFieldTypeIcon,showFilterLength,showSelectionAll,showSort,sortBy,view:;reposition,setDisabled,setFocus"],"arcgis-histogram":[()=>import("./LUTEWTE4.js"),"_messages:,average,bins:,colorBlendingEnabled,colorStops:,dataLines:,icon,label,labelFormatter:,layout,max,messageOverrides:,min,standardDeviation,standardDeviationCount"],"arcgis-label-input":[()=>import("./ZRJT3BTV.js"),"alignment,editing,labelFormatter:,readOnly,value;edit;getLabelBoundingClientRect"],"arcgis-picker-input":[()=>import("./DZ6EM67E.js"),"disabled,heading,iconEnd,intlDone,label,popoverProps:;close,setFocus"],"arcgis-ramp-color":[()=>import("./QHSBMU6L.js"),"layout,max,min,stops:"],"arcgis-ramp-color-break":[()=>import("./B7ORUBJS.js"),"layout,max,min,stops:"],"arcgis-ramp-opacity":[()=>import("./NWD6VRJ3.js"),"fillColor,layout,max,min,stops:"],"arcgis-slider":[()=>import("./QH3LDC7I.js"),"activeValue:,allowValuesOverlap,autoDestroyDisabled,disabled,fillPlacement,fullRangeMax,fullRangeMin,keyboardLargeStep,labelFormatter:,layout,max,messageOverrides:,messages:,min,mirrored,popoverLabel,popoverPlacement,precision,rangeLabelsEditingEnabled,rangeLabelsPlacement,segmentsDraggingDisabled,showRangeLabels,steps,valueLabelsDisplay,valueLabelsEditingEnabled,valueLabelsPlacement,values;destroy"],"arcgis-slider-field":[()=>import("./ILQGAJMU.js"),"activeValue:,disabled,fieldType,fillPlacement,label,labelFormatter:,layout,max,messageOverrides:,messages:,min,mirrored,popoverLabel,rangeLabelsEditingEnabled,rangeLabelsPlacement,showRangeLabels,valueLabelsDisplay,valueLabelsEditingEnabled,valueLabelsPlacement,values,valuesAsDateOnly:,valuesAsFieldType:,valuesAsNumbers:,valuesAsTimeOnly:,valuesAsTimestampOffset:"],"arcgis-slider-input":[()=>import("./VDZ3DCU7.js"),"disabled,flipLabels,label,max,min,scale,step,unitsLabel,value,withSteppers"],"arcgis-ticks":[()=>import("./PRJM53Y4.js"),"interactive,interpolationExponent,labelFormatter:,labelPlacement,layout,max,min,mirrored,mode,showBaseline,showLabels,values"],"arcgis-toolbar":[()=>import("./N3NWNVDF.js"),"barElement:,layout,relativePosition,scale,toolbarKind,tooltipAppearance"],"arcgis-toolbar-action":[()=>import("./NSZAGPYW.js"),"actionElement:,active,appearance,disabled,icon,iconFlipRtl,indicator,kind,labelText,loading,textEnabled,tooltipText;;measure,proxiedRender"],"arcgis-toolbar-group":[()=>import("./CRQPVTKI.js"),"preferEndSlot,priority;;measure,proxiedRender"],"arcgis-toolbar-item":[()=>import("./ILCKIZB7.js"),"actionElement:,active,disabled,icon,iconFlipRtl,labelText,lastActivated:,loading,tooltipText;;measure,proxiedRender"],"arcgis-toolbar-more-button":[()=>import("./NZVGCVVU.js"),"menuAppearance,overflowActionLabel,priority;;measure,proxiedRender"],"arcgis-toolbar-split-button":[()=>import("./ACW3B44H.js"),"menuAppearance,overflowActionLabel,priority;;measure,proxiedRender"],"arcgis-unique-values-list":[()=>import("./DHC2LUQ2.js"),"_messages:,fieldName,layer:,maxHeight,multiple,numberFormatOptions:,partialUniqueValues,selectedValues:,showFilterLength,sortBy,uniqueValues:,view:,visualizationSource;getUniqueValues,setFocus"],"arcgis-value-picker":[()=>import("./PRS7WL5D.js"),"autoDestroyDisabled,disabled,hideNextButton,hidePlayButton,hidePreviousButton,icon,label,layout,loop,messages:,playRate,state:;destroy;next,pause,play,previous"],"arcgis-value-picker-collection":[()=>import("./UJMJOA5M.js"),"autoDestroyDisabled,canNext,canPlay,canPrevious,currentValue:,items:;destroy;reset,step"],"arcgis-value-picker-combobox":[()=>import("./AJJMK7ZT.js"),"autoDestroyDisabled,canNext,canPlay,canPrevious,currentValue:,disabled,items:,messages:;destroy;reset,step"],"arcgis-value-picker-label":[()=>import("./UQYWVAV5.js"),"autoDestroyDisabled,canNext,canPlay,canPrevious,currentValue:,items:;destroy;reset,step"],"arcgis-value-picker-slider":[()=>import("./HP3DHL2Q.js"),"autoDestroyDisabled,canNext,canPlay,canPrevious,currentValue,disabled,labelFormatter:,labels:,layout,majorTicks:,max,min,minorTicks:,mirrored,steps:;destroy;reset,step"]});i({resourcesUrl:import.meta.url});var r=new CSSStyleSheet;r.replaceSync("@layer{:not([hydrated]):is(arcgis-ckeditor5,arcgis-ckeditor5-popover,arcgis-color-input,arcgis-coordinate-system-picker,arcgis-coordinate-system-picker-tree,arcgis-field-info,arcgis-field-pick-list,arcgis-histogram,arcgis-label-input,arcgis-picker-input,arcgis-ramp-color,arcgis-ramp-color-break,arcgis-ramp-opacity,arcgis-slider,arcgis-slider-field,arcgis-slider-input,arcgis-ticks,arcgis-toolbar,arcgis-toolbar-action,arcgis-toolbar-group,arcgis-toolbar-item,arcgis-toolbar-more-button,arcgis-toolbar-split-button,arcgis-unique-values-list,arcgis-value-picker,arcgis-value-picker-collection,arcgis-value-picker-combobox,arcgis-value-picker-label,arcgis-value-picker-slider){visibility:hidden}}");document.adoptedStyleSheets=[...document.adoptedStyleSheets,r];window.$arcgis||Object.defineProperty(window,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),((a,r)=>{a.t=(c,...x)=>Promise.all(x.map(x=>x.then?x:(!a?.forceESM&&a?.import||(x=>import(x+".js").then(m=>m.default??m)))("@arcgis/core/"+x))).then(c);r.p=a.t(([m])=>{r.t=m.trackAccess;r.o=m.createObservable;r.c=m.createTrackingTarget;r.r=m.runTracked},"applications/Components/reactiveUtils")})($arcgis,a)
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
2
|
import { c as H } from "../../chunks/runtime.js";
|
|
3
|
-
import { keyed as
|
|
3
|
+
import { keyed as $ } from "lit/directives/keyed.js";
|
|
4
4
|
import { ref as b } from "lit/directives/ref.js";
|
|
5
|
-
import { LitElement as Q, createEvent as D, safeClassMap as
|
|
5
|
+
import { LitElement as Q, createEvent as D, safeClassMap as C } from "@arcgis/lumina";
|
|
6
6
|
import { Task as J } from "@lit/task";
|
|
7
|
-
import { log as
|
|
8
|
-
import { css as j, html as
|
|
7
|
+
import { log as q, composeMissingPropertyMessage as L } from "@arcgis/toolkit/log";
|
|
8
|
+
import { css as j, html as d } from "lit";
|
|
9
9
|
import z from "@arcgis/core/config.js";
|
|
10
10
|
import * as x from "@arcgis/core/core/reactiveUtils.js";
|
|
11
11
|
import * as h from "@arcgis/core/intl.js";
|
|
@@ -15,7 +15,7 @@ import B from "@arcgis/core/smartMapping/statistics/summaryStatistics.js";
|
|
|
15
15
|
import K from "@arcgis/core/smartMapping/statistics/uniqueValues.js";
|
|
16
16
|
import { i as f } from "../../chunks/general.js";
|
|
17
17
|
import R from "@arcgis/core/layers/support/CodedValue.js";
|
|
18
|
-
import { i as
|
|
18
|
+
import { i as F, a as V, b as T, c as Z, d as I, e as M, f as y, g as w, h as U, j as X, k as Y, l as ee, m as te, n as N, o as ie, p as W, q as se, r as k, s as E } from "../../chunks/layer-utils.js";
|
|
19
19
|
import ae from "@arcgis/core/rest/support/Query.js";
|
|
20
20
|
import { u as re } from "../../chunks/useT9n.js";
|
|
21
21
|
function ne(a) {
|
|
@@ -33,25 +33,25 @@ function ue(a) {
|
|
|
33
33
|
const r = A.supportsFieldConfiguration(e);
|
|
34
34
|
let s;
|
|
35
35
|
"popupTemplate" in e && (s = e.popupTemplate);
|
|
36
|
-
const
|
|
37
|
-
return G(a)?.filter((
|
|
38
|
-
const
|
|
39
|
-
/^raster.(item|service)pixelvalue/iu.test(t) && (
|
|
36
|
+
const l = s ? s.fieldInfos : [];
|
|
37
|
+
return G(a)?.filter((n) => n.name === t).forEach((n) => {
|
|
38
|
+
const c = !r && l ? l.filter((g) => g.fieldName === n.name) : void 0, o = r ? e.getFieldAlias(t) : c?.length ? c[0].label : n.alias;
|
|
39
|
+
/^raster.(item|service)pixelvalue/iu.test(t) && (n.type = "double");
|
|
40
40
|
const u = {
|
|
41
|
-
layerField:
|
|
42
|
-
label: o ||
|
|
41
|
+
layerField: n,
|
|
42
|
+
label: o || n.name
|
|
43
43
|
};
|
|
44
44
|
u.codedValues = fe(t, a), me(u), u.simpleFieldType && (i = u);
|
|
45
45
|
}), i;
|
|
46
46
|
}
|
|
47
47
|
function G(a) {
|
|
48
48
|
const { layer: e } = a;
|
|
49
|
-
return
|
|
49
|
+
return F(e) || V(e) || I(e) && e.rasterFields.length ? e.rasterFields : e.fields;
|
|
50
50
|
}
|
|
51
51
|
async function P(a) {
|
|
52
52
|
a.statisticsStatus = "in-progress";
|
|
53
53
|
const { layer: e, view: t } = a;
|
|
54
|
-
if (
|
|
54
|
+
if (F(e) || V(e) || w(e) || T(e))
|
|
55
55
|
throw new Error("could not get feature count");
|
|
56
56
|
try {
|
|
57
57
|
return await ge(e, t);
|
|
@@ -61,7 +61,7 @@ async function P(a) {
|
|
|
61
61
|
}
|
|
62
62
|
async function ce(a) {
|
|
63
63
|
const { layer: e, view: t, fieldName: i, fieldInfo: r } = a;
|
|
64
|
-
if (
|
|
64
|
+
if (F(e) || V(e) || T(e))
|
|
65
65
|
throw new Error("could not get statistics for ImageryTileLayer/WCSLayer/VoxelLayer");
|
|
66
66
|
if (!r || r.layerField.type === "oid" || r.layerField.type === "guid" || r.layerField.type === "global-id")
|
|
67
67
|
return { totalCount: await P(a), nullcount: 0 };
|
|
@@ -74,8 +74,8 @@ async function ce(a) {
|
|
|
74
74
|
});
|
|
75
75
|
if (!f(s.count))
|
|
76
76
|
throw new Error("could not get statistics");
|
|
77
|
-
const
|
|
78
|
-
if (f(s.nullcount) && !
|
|
77
|
+
const l = "sourceJSON" in e && e.sourceJSON.maxRecordCount === s.count;
|
|
78
|
+
if (f(s.nullcount) && !l)
|
|
79
79
|
return { ...s, totalCount: s.count + s.nullcount };
|
|
80
80
|
{
|
|
81
81
|
const m = await P(a);
|
|
@@ -87,7 +87,7 @@ async function ce(a) {
|
|
|
87
87
|
}
|
|
88
88
|
async function de(a) {
|
|
89
89
|
const { layer: e, view: t, fieldName: i } = a;
|
|
90
|
-
if (
|
|
90
|
+
if (F(e) || V(e) || T(e))
|
|
91
91
|
throw new Error("could not get unique values for ImageryLayer/ImageryTileLayer/WCSLayer/VoxelLayer");
|
|
92
92
|
Z(e) && (e.outFields = ["*"]);
|
|
93
93
|
try {
|
|
@@ -139,45 +139,45 @@ function me(a) {
|
|
|
139
139
|
function fe(a, e) {
|
|
140
140
|
const { layer: t } = e;
|
|
141
141
|
if (M(t) && t.subtypeField === a) {
|
|
142
|
-
const
|
|
143
|
-
if (
|
|
144
|
-
return [new R({ code:
|
|
142
|
+
const c = t.parent?.subtypes?.find((o) => o.code === t.subtypeCode);
|
|
143
|
+
if (c)
|
|
144
|
+
return [new R({ code: c.code, name: c.name })];
|
|
145
145
|
}
|
|
146
|
-
if (!
|
|
146
|
+
if (!y(t) && !I(t))
|
|
147
147
|
return;
|
|
148
|
-
const i =
|
|
148
|
+
const i = y(t) ? t.typeIdField : void 0, r = y(t) ? t.types : void 0;
|
|
149
149
|
let s;
|
|
150
|
-
const m = G(e)?.find((
|
|
151
|
-
return
|
|
152
|
-
(
|
|
150
|
+
const m = G(e)?.find((c) => c.name === a), n = m?.domain;
|
|
151
|
+
return y(t) && i && r ? (i === a ? s = r.map(
|
|
152
|
+
(c) => (
|
|
153
153
|
// fake coded values
|
|
154
154
|
new R({
|
|
155
|
-
code:
|
|
156
|
-
name:
|
|
155
|
+
code: c.id,
|
|
156
|
+
name: c.name
|
|
157
157
|
})
|
|
158
158
|
)
|
|
159
|
-
) : (s = [], r.forEach((
|
|
160
|
-
if (!
|
|
161
|
-
const o =
|
|
159
|
+
) : (s = [], r.forEach((c) => {
|
|
160
|
+
if (!c.domains[a] || c.domains[a].type === "inherited") {
|
|
161
|
+
const o = n;
|
|
162
162
|
o?.codedValues && o.codedValues.forEach((u) => {
|
|
163
163
|
let g = !1;
|
|
164
164
|
s.forEach((p) => {
|
|
165
165
|
p.code === u.code && (g = !0, `, ${p.name},`.includes(`, ${u.name},`) || (p.name += `, ${u.name}`));
|
|
166
166
|
}), g || s.push(_.clone(u));
|
|
167
167
|
});
|
|
168
|
-
} else
|
|
168
|
+
} else c.domains[a].codedValues && c.domains[a].codedValues.forEach((o) => {
|
|
169
169
|
let u = !1;
|
|
170
170
|
s.forEach((g) => {
|
|
171
171
|
g.code === o.code && (u = !0, `, ${g.name},`.includes(`, ${o.name},`) || (g.name += `, ${o.name}`));
|
|
172
172
|
}), u || s.push(_.clone(o));
|
|
173
173
|
});
|
|
174
|
-
})), !s.length &&
|
|
174
|
+
})), !s.length && n?.codedValues && (s = _.clone(n.codedValues))) : n?.codedValues && (s = m?.domain?.codedValues), s?.length ? s : void 0;
|
|
175
175
|
}
|
|
176
176
|
async function pe(a) {
|
|
177
177
|
const { view: e, layer: t } = a;
|
|
178
|
-
if (
|
|
178
|
+
if (I(t) || F(t) || V(t))
|
|
179
179
|
throw new Error("could not get feature");
|
|
180
|
-
if (
|
|
180
|
+
if (y(t) && !t.url || U(t)) {
|
|
181
181
|
const i = t.createQuery();
|
|
182
182
|
i.start = 0, i.num = 5, i.outFields = ["*"];
|
|
183
183
|
const r = await t.queryFeatures(i);
|
|
@@ -186,7 +186,7 @@ async function pe(a) {
|
|
|
186
186
|
throw new Error("could not get feature");
|
|
187
187
|
} else {
|
|
188
188
|
if (!e)
|
|
189
|
-
return await
|
|
189
|
+
return await O(a);
|
|
190
190
|
let i;
|
|
191
191
|
if (M(t) || X(t)) {
|
|
192
192
|
let s = t.parent;
|
|
@@ -196,18 +196,18 @@ async function pe(a) {
|
|
|
196
196
|
} else
|
|
197
197
|
i = await e.whenLayerView(t);
|
|
198
198
|
const r = i.availableFields.length === t.fields.length;
|
|
199
|
-
if (i && (r || (
|
|
199
|
+
if (i && (r || (w(t) || N(t)) && i.availableFields.length > 0)) {
|
|
200
200
|
const s = i.createQuery();
|
|
201
201
|
s.start = 0, s.num = 5, s.outFields = ["*"];
|
|
202
|
-
const
|
|
203
|
-
return
|
|
202
|
+
const l = await i.queryFeatures(s);
|
|
203
|
+
return l.features?.length ? l : await O(a);
|
|
204
204
|
} else
|
|
205
|
-
return await
|
|
205
|
+
return await O(a);
|
|
206
206
|
}
|
|
207
207
|
}
|
|
208
|
-
async function
|
|
208
|
+
async function O(a) {
|
|
209
209
|
const { layer: e } = a;
|
|
210
|
-
if (
|
|
210
|
+
if (I(e) || F(e) || w(e) || N(e))
|
|
211
211
|
throw new Error("cannot get feature from service");
|
|
212
212
|
const t = new ae({
|
|
213
213
|
where: "1=1",
|
|
@@ -219,9 +219,9 @@ async function q(a) {
|
|
|
219
219
|
async function ge(a, e) {
|
|
220
220
|
if (Z(a))
|
|
221
221
|
return await he(a);
|
|
222
|
-
if (
|
|
222
|
+
if (y(a) || ie(a) || W(a) || U(a) || se(a))
|
|
223
223
|
return await a.queryFeatureCount();
|
|
224
|
-
if (e && (
|
|
224
|
+
if (e && (w(a) || N(a)))
|
|
225
225
|
return await ve(a, e);
|
|
226
226
|
}
|
|
227
227
|
async function he(a) {
|
|
@@ -241,7 +241,7 @@ class Fe extends Q {
|
|
|
241
241
|
super(...arguments), this._messages = re({ blocking: !0 }), this.initialized = !1, this._propWatcherTask = new J(this, {
|
|
242
242
|
task: async ([e, t]) => {
|
|
243
243
|
const i = f(e) && f(t);
|
|
244
|
-
if (f(e) ||
|
|
244
|
+
if (f(e) || q("error", this, L("layer")), f(t) || q("error", this, L("fieldName")), !i)
|
|
245
245
|
throw new Error();
|
|
246
246
|
await this.processProps(), this._propWatcherTask.autoRun = !1;
|
|
247
247
|
},
|
|
@@ -269,8 +269,8 @@ class Fe extends Q {
|
|
|
269
269
|
return;
|
|
270
270
|
let s;
|
|
271
271
|
if (t.declaredClass === "esri.layers.support.Sublayer") {
|
|
272
|
-
const
|
|
273
|
-
e && await x.whenOnce(() => !e.updating), s = await
|
|
272
|
+
const l = t;
|
|
273
|
+
e && await x.whenOnce(() => !e.updating), s = await l.createFeatureLayer(), await s?.load();
|
|
274
274
|
}
|
|
275
275
|
if (this.oneFeatureResponseStatus = "missing", this.oneFeatureResponse = void 0, this.statisticsStatus = "missing", this.statistics = void 0, this.uniqueValuesStatus = "missing", this.uniqueValues = void 0, this.props = {
|
|
276
276
|
view: e,
|
|
@@ -278,19 +278,19 @@ class Fe extends Q {
|
|
|
278
278
|
fieldName: i,
|
|
279
279
|
hideStatistics: r
|
|
280
280
|
}, this.props.fieldInfo = ue(this.props), !this.props.fieldInfo) {
|
|
281
|
-
|
|
281
|
+
q("error", this, `Field ${i} does not exist in layer.`);
|
|
282
282
|
return;
|
|
283
283
|
}
|
|
284
284
|
W(t) && z.request.interceptors?.push({
|
|
285
285
|
urls: `${ne(t)}/${t.layerId}`,
|
|
286
|
-
before(
|
|
287
|
-
|
|
286
|
+
before(l) {
|
|
287
|
+
l.requestOptions.authMode = "no-prompt";
|
|
288
288
|
}
|
|
289
289
|
}), this.processPropsPart2();
|
|
290
290
|
}
|
|
291
291
|
async processPropsPart2() {
|
|
292
292
|
const { layer: e, hideStatistics: t } = this;
|
|
293
|
-
if (await this.requestOneFeature(),
|
|
293
|
+
if (await this.requestOneFeature(), w(e) || k(e) || E(e)) {
|
|
294
294
|
this.uniqueValuesStatus = "failed", this.statisticsStatus = "failed";
|
|
295
295
|
return;
|
|
296
296
|
}
|
|
@@ -567,82 +567,82 @@ class Fe extends Q {
|
|
|
567
567
|
}
|
|
568
568
|
render() {
|
|
569
569
|
return this._propWatcherTask.render({
|
|
570
|
-
pending: () =>
|
|
570
|
+
pending: () => d`<calcite-scrim loading></calcite-scrim>`,
|
|
571
571
|
complete: () => {
|
|
572
572
|
const { props: e } = this, { fieldInfo: t } = e;
|
|
573
|
-
return t ?
|
|
573
|
+
return t ? d`<div class="container">${this.renderFieldType()}${this.renderFieldAlias()}${this.renderFieldDescription()}${this.renderFieldValueType()}${this.renderFieldSampleValue()}${this.renderFieldNumericFormat()}${this.renderFieldStatistics()}</div>` : "";
|
|
574
574
|
},
|
|
575
575
|
error: () => ""
|
|
576
576
|
});
|
|
577
577
|
}
|
|
578
578
|
renderFieldType() {
|
|
579
579
|
const { _messages: e, props: t } = this, { fieldInfo: i } = t, r = this._getFieldTypeLabel(i.layerField.type);
|
|
580
|
-
return
|
|
580
|
+
return d`<div class="section"><div class="title">${e.fieldType}</div><div>${r}</div></div>`;
|
|
581
581
|
}
|
|
582
582
|
renderFieldAlias() {
|
|
583
583
|
const { _messages: e, props: t, hideAlias: i } = this, { fieldInfo: r } = t;
|
|
584
|
-
return i ? "" :
|
|
584
|
+
return i ? "" : d`<div class="section"><div class="title">${e.fieldAlias}</div><div>${r.label}</div></div>`;
|
|
585
585
|
}
|
|
586
586
|
renderFieldDescription() {
|
|
587
587
|
const { _messages: e, props: t } = this, { layer: i } = t;
|
|
588
|
-
if (!
|
|
588
|
+
if (!y(i))
|
|
589
589
|
return "";
|
|
590
590
|
const { fieldInfo: r } = t, s = r.layerField.description;
|
|
591
|
-
return
|
|
591
|
+
return d`<div class="section"><div class="title">${e.fieldDescription}</div><div class=${C({
|
|
592
592
|
missing: !s
|
|
593
593
|
})}>${s || e.fieldDescriptionNotSet}</div></div>`;
|
|
594
594
|
}
|
|
595
595
|
renderFieldValueType() {
|
|
596
596
|
const { _messages: e, props: t } = this, { layer: i } = t;
|
|
597
|
-
if (!
|
|
597
|
+
if (!y(i))
|
|
598
598
|
return "";
|
|
599
599
|
const { fieldInfo: r } = t, s = this._getFieldValueTypeCamelCase(r);
|
|
600
|
-
return
|
|
600
|
+
return d`<div class="section"><div class="title">${e.fieldValueType}</div><div class=${C(s ? "" : "missing")}>${s ? e.fieldValueTypes[s] : e.fieldValueTypeNotSet}</div></div>`;
|
|
601
601
|
}
|
|
602
602
|
renderFieldSampleValue() {
|
|
603
|
-
const { oneFeatureResponse: e, oneFeatureResponseStatus: t, statisticsStatus: i, statistics: r, uniqueValuesStatus: s, uniqueValues:
|
|
603
|
+
const { oneFeatureResponse: e, oneFeatureResponseStatus: t, statisticsStatus: i, statistics: r, uniqueValuesStatus: s, uniqueValues: l, _messages: m, props: n } = this, { layer: c, fieldName: o, fieldInfo: u } = n, { statistics: g } = m;
|
|
604
604
|
let p;
|
|
605
|
-
if (
|
|
605
|
+
if (F(c) || T(c) || !w(c) && ["string", "oid", "guid"].includes(this._getStatisticsType(u)) && s !== "failed")
|
|
606
606
|
return "";
|
|
607
|
-
t === "success" ? e.features.forEach((
|
|
608
|
-
(p === void 0 || p === null &&
|
|
609
|
-
}) : i === "success" ? p = r?.min ?? void 0 : s === "success" && (p =
|
|
610
|
-
const
|
|
611
|
-
return f(p) && (
|
|
607
|
+
t === "success" ? e.features.forEach((v) => {
|
|
608
|
+
(p === void 0 || p === null && v.attributes[o] !== null) && (p = v.attributes[o]);
|
|
609
|
+
}) : i === "success" ? p = r?.min ?? void 0 : s === "success" && (p = l?.uniqueValueInfos?.[0]?.value ?? l?.uniqueValueInfos?.[1]?.value ?? void 0);
|
|
610
|
+
const S = u.codedValues;
|
|
611
|
+
return f(p) && (S ? p = S.find((v) => p === v.code)?.name || p : p = this._getDisplayString(p, { useFieldFormatting: !0 })), d`<div class="section"><div class="title">${m.fieldSampleValue}</div><div class=${C(t === "failed" && i === "failed" && s === "failed" || !f(p) ? "missing" : "")}>${t === "success" || i === "success" || s === "success" ? p?.toString() ?? g.allNulls : t === "failed" && i === "failed" && s === "failed" ? m.fieldSampleNotAvailable : m.fieldSampleRetrieving}</div></div>`;
|
|
612
612
|
}
|
|
613
613
|
renderFieldNumericFormat() {
|
|
614
|
-
const { _messages: e, props: t, hideNumericFormat: i } = this, { fieldName: r, fieldInfo: s, layer:
|
|
614
|
+
const { _messages: e, props: t, hideNumericFormat: i } = this, { fieldName: r, fieldInfo: s, layer: l } = t;
|
|
615
615
|
if (i || !["double", "long", "single"].includes(s.layerField.type))
|
|
616
616
|
return "";
|
|
617
|
-
const m = this.originalLayerSupportsFieldConfigs() ?
|
|
617
|
+
const m = this.originalLayerSupportsFieldConfigs() ? l.getFieldConfiguration(r) : void 0;
|
|
618
618
|
if (m?.fieldFormat) {
|
|
619
|
-
const { minimumFractionDigits:
|
|
620
|
-
return
|
|
619
|
+
const { minimumFractionDigits: c, maximumFractionDigits: o } = m.fieldFormat;
|
|
620
|
+
return d`<div class="section"><div class="title">${e.fieldDecimalPlaces}</div><div>${e.fieldMinimumFractionDigits.replace("${number}", c.toString())}</div><div>${e.fieldMaximumFractionDigits.replace("${number}", o.toString())}</div></div>`;
|
|
621
621
|
}
|
|
622
|
-
const
|
|
623
|
-
if (
|
|
624
|
-
const
|
|
625
|
-
if (
|
|
626
|
-
const o =
|
|
622
|
+
const n = "popupTemplate" in l ? l.popupTemplate : void 0;
|
|
623
|
+
if (n?.fieldInfos) {
|
|
624
|
+
const c = n.fieldInfos?.filter((o) => o.fieldName === r);
|
|
625
|
+
if (c?.length) {
|
|
626
|
+
const o = c[0];
|
|
627
627
|
if (f(o?.format?.places)) {
|
|
628
628
|
const u = o.format.places;
|
|
629
|
-
return
|
|
629
|
+
return d`<div class="section"><div class="title">${e.fieldDecimalPlaces}</div><div>${e.fieldNumDecimalPlaces.replace("${number}", u.toString())}</div></div>`;
|
|
630
630
|
}
|
|
631
631
|
}
|
|
632
632
|
}
|
|
633
|
-
return
|
|
633
|
+
return d`<div class="section"><div class="title">${e.fieldDecimalPlaces}</div><div class="missing">${e.fieldDecimalPlacesNotAvailable}</div></div>`;
|
|
634
634
|
}
|
|
635
635
|
renderFieldStatistics() {
|
|
636
|
-
const { statisticsStatus: e, uniqueValuesStatus: t, hideStatistics: i, _messages: r, props: s } = this, { layer:
|
|
637
|
-
return i ? (this.arcgisComplete.emit(), this.arcgisFieldInfoComplete.emit(), "") : k(
|
|
636
|
+
const { statisticsStatus: e, uniqueValuesStatus: t, hideStatistics: i, _messages: r, props: s } = this, { layer: l, fieldInfo: m } = s;
|
|
637
|
+
return i ? (this.arcgisComplete.emit(), this.arcgisFieldInfoComplete.emit(), "") : k(l) || E(l) || w(l) || F(l) || T(l) || ["long"].includes(m.layerField.type) ? (this.arcgisComplete.emit(), this.arcgisFieldInfoComplete.emit(), "") : d`<div class="section"><div class="title">${r.fieldStatistics}</div>${!this.isFinished(t) && !this.isFinished(e) ? this.renderWaitingForStatistics() : e === "failed" && t === "failed" ? this.renderNoStatistics() : this.renderStatistics()}</div>`;
|
|
638
638
|
}
|
|
639
639
|
renderWaitingForStatistics() {
|
|
640
640
|
const { _messages: e } = this;
|
|
641
|
-
return
|
|
641
|
+
return $("field-info-statistics-content", d`<div class="missing">${e.fieldStatisticsRetrieving}</div>`);
|
|
642
642
|
}
|
|
643
643
|
renderNoStatistics() {
|
|
644
644
|
const { _messages: e } = this;
|
|
645
|
-
return
|
|
645
|
+
return $("field-info-statistics-content", d`<div class="missing" ${b(this._setCompleteRef)}>${e.fieldStatisticsNotAvailable}</div>`);
|
|
646
646
|
}
|
|
647
647
|
renderStatistics() {
|
|
648
648
|
const { props: e } = this, { fieldInfo: t } = e;
|
|
@@ -663,57 +663,57 @@ class Fe extends Q {
|
|
|
663
663
|
}
|
|
664
664
|
}
|
|
665
665
|
renderNumberStatistics() {
|
|
666
|
-
const { statistics: e,
|
|
666
|
+
const { statistics: e, uniqueValuesStatus: t, statisticsStatus: i, _messages: r } = this;
|
|
667
667
|
if (!e)
|
|
668
|
-
return this.renderWaitingForStatistics();
|
|
669
|
-
const { statistics:
|
|
670
|
-
return
|
|
668
|
+
return this.isFinished(t) && this.isFinished(i) ? this.renderNoStatistics() : this.renderWaitingForStatistics();
|
|
669
|
+
const { statistics: s } = r;
|
|
670
|
+
return $("field-info-statistics-content", d`<div ${b(this._setCompleteRef)}><div class="statistics-row"><div>${s.numberOfValues}</div><div class="data">${this._printNumValue(e.totalCount)}</div></div>${f(e.sum) ? d`<div class="statistics-row"><div>${s.sumOfValues}</div><div class="data">${this._printNumValue(e.sum)}</div></div>` : null}${f(e.min) ? d`<div class="statistics-row"><div>${s.minimum}</div><div class="data">${this._printNumValue(e.min)}</div></div>` : null}${f(e.max) ? d`<div class="statistics-row"><div>${s.maximum}</div><div class="data">${this._printNumValue(e.max)}</div></div>` : null}${f(e.avg) ? d`<div class="statistics-row"><div>${s.average}</div><div class="data">${this._printNumValue(e.avg)}</div></div>` : null}${f(e.stddev) ? d`<div class="statistics-row"><div>${s.standardDeviation}</div><div class="data">${this._printNumValue(e.stddev)}</div></div>` : null}${this.renderNullValues()}</div>`);
|
|
671
671
|
}
|
|
672
672
|
renderStringStatistics() {
|
|
673
673
|
const { statistics: e, uniqueValuesStatus: t, _messages: i } = this, { statistics: r } = i;
|
|
674
|
-
return
|
|
674
|
+
return $("field-info-statistics-content", d`<div ${b(this._setCompleteRef)}><div class="statistics-row"><div>${r.numberOfValues}</div>${t !== "success" ? d`<div class="missing">--</div>` : d`<div class="data">${this._printNumValue(e?.totalCount)}</div>`}</div>${this.renderNullValues()}${this.renderTopValues()}</div>`);
|
|
675
675
|
}
|
|
676
676
|
renderDateStatistics() {
|
|
677
|
-
const { statistics: e, view: t, props: i,
|
|
677
|
+
const { statistics: e, view: t, props: i, uniqueValuesStatus: r, statisticsStatus: s, _messages: l } = this, { fieldInfo: m } = i;
|
|
678
678
|
if (!e || !f(e.max) || !f(e.min))
|
|
679
|
-
return this.renderWaitingForStatistics();
|
|
680
|
-
const { statistics: n } =
|
|
681
|
-
let
|
|
682
|
-
|
|
683
|
-
let
|
|
684
|
-
|
|
685
|
-
const
|
|
686
|
-
return
|
|
679
|
+
return this.isFinished(r) && this.isFinished(s) ? this.renderNoStatistics() : this.renderWaitingForStatistics();
|
|
680
|
+
const { statistics: n } = l, c = e.max - e.min, o = Math.floor(c / 31536e6);
|
|
681
|
+
let u = Math.floor((c - o * 31536e6) / 2628e6), g = Math.ceil((c - u * 2628e6) / 864e5);
|
|
682
|
+
g >= 30 && (u += 1, g = 0);
|
|
683
|
+
let p = o === 1 ? n.timeSpanOptions.year : o > 1 ? n.timeSpanOptions.years.replace("${years}", o.toString()) : "";
|
|
684
|
+
p += o > 0 && (u > 0 || g > 0) ? ", " : "", p += u === 1 ? n.timeSpanOptions.month : u > 1 ? n.timeSpanOptions.months.replace("${months}", u.toString()) : "", p += u > 0 && g > 0 ? ", " : "", p += g === 1 ? n.timeSpanOptions.day : g > 1 ? n.timeSpanOptions.days.replace("${days}", g.toString()) : "";
|
|
685
|
+
const S = m.simpleFieldType !== "timestamp-offset" || !t || t.timeZone !== "unknown", v = m.simpleFieldType === "time-only";
|
|
686
|
+
return $("field-info-statistics-content", d`<div ${b(this._setCompleteRef)}><div class="statistics-row"><div>${n.numberOfValues}</div><div class="data">${this._printNumValue(e?.totalCount)}</div></div>${S && f(e.min) ? d`<div class="statistics-row"><div>${v ? n.minimumTime : n.minimumDate}</div><div class="data">${this._getDisplayString(e.min)}</div></div>` : null}${S && f(e.max) ? d`<div class="statistics-row"><div>${v ? n.maximumTime : n.maximumDate}</div><div class="data">${this._getDisplayString(e.max)}</div></div>` : null}${S && f(e.avg) ? d`<div class="statistics-row"><div>${v ? n.averageTime : n.averageDate}</div><div class="data">${this._getDisplayString(e.avg)}</div></div>` : null}${S && !v && f(e.min) && f(e.max) && c > 0 ? d`<div class="statistics-row"><div>${n.timespan}</div><div class="data">${p}</div></div>` : null}${this.renderNullValues()}</div>`);
|
|
687
687
|
}
|
|
688
688
|
renderTopValues() {
|
|
689
|
-
const { uniqueValues: e, uniqueValuesStatus: t, _messages: i, props: r } = this, { fieldInfo: s } = r, { statistics:
|
|
689
|
+
const { uniqueValues: e, uniqueValuesStatus: t, _messages: i, props: r } = this, { fieldInfo: s } = r, { statistics: l } = i;
|
|
690
690
|
if (e?.uniqueValueInfos?.length) {
|
|
691
691
|
const m = e.uniqueValueInfos;
|
|
692
692
|
m.sort((o, u) => o.count < u.count ? 1 : o.count > u.count ? -1 : 0);
|
|
693
|
-
const
|
|
693
|
+
const n = s.codedValues, c = m.filter((o) => o.value !== null).filter((o, u) => o && u < 10).map((o) => {
|
|
694
694
|
let u = o.value;
|
|
695
|
-
return
|
|
695
|
+
return n ? n.forEach((g) => {
|
|
696
696
|
u === g.code && (u = g.name);
|
|
697
|
-
}) : u = this._getDisplayString(u),
|
|
697
|
+
}) : u = this._getDisplayString(u), d`<div class="statistics-row"><div class="data">${`${u}`}</div><div class="count">${this._printNumValue(o.count)}</div></div>`;
|
|
698
698
|
});
|
|
699
|
-
return
|
|
699
|
+
return c.length ? d`<div><div class="statistics-row-top-values"><div>${m.length > 10 ? l.topTenValues : l.topValues}</div><div>${l.count}</div></div>${c}</div>` : "";
|
|
700
700
|
} else
|
|
701
|
-
return
|
|
701
|
+
return d`<div><div class="statistics-row-top-values"><div>${l.topValues}</div><div>${l.count}</div></div><div class="statistics-row"><div class="missing">${t === "failed" ? i.fieldUniqueValuesNotAvailable : i.fieldSampleRetrieving}</div></div></div>`;
|
|
702
702
|
}
|
|
703
703
|
renderNullValues() {
|
|
704
704
|
const { statistics: e, uniqueValues: t, _messages: i } = this, { statistics: r } = i;
|
|
705
705
|
let s = e?.nullcount;
|
|
706
706
|
if (!f(s) && t) {
|
|
707
|
-
const
|
|
708
|
-
for (let m = 0; m <
|
|
709
|
-
const
|
|
710
|
-
if (
|
|
711
|
-
s =
|
|
707
|
+
const l = t.uniqueValueInfos;
|
|
708
|
+
for (let m = 0; m < l.length; m++) {
|
|
709
|
+
const n = l[m];
|
|
710
|
+
if (n.value === null) {
|
|
711
|
+
s = n.count;
|
|
712
712
|
break;
|
|
713
713
|
}
|
|
714
714
|
}
|
|
715
715
|
}
|
|
716
|
-
return
|
|
716
|
+
return d`<div class="statistics-row"><div>${r.numberOfNulls}</div>${f(s) ? d`<div class="data">${this._printNumValue(s)}</div>` : d`<div class="missing">--</div>`}</div>`;
|
|
717
717
|
}
|
|
718
718
|
}
|
|
719
719
|
H("arcgis-field-info", Fe);
|