@arcgis/common-components 5.2.0-next.41 → 5.2.0-next.42
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/{UN66LCCD.js → XKO6BIJ2.js} +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/components/arcgis-field-info/customElement.js +43 -42
- package/dist/components/arcgis-field-info/index.js +1 -0
- 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 +3 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{a as x,b as j,c as k,d as E,e as v,f as z,g as $,h as y,i as B,j as K,k as N,l as R,m as F,n as X,o as Y,p as L,q as S,r as w,s as Z}from"./Z5QBBHLD.js";import{a as J,b as p}from"./YJFSSORL.js";import{a as Q}from"./7ZUWFAYH.js";import"./MKKGMWEJ.js";import"./TWW63D32.js";import{a as V}from"./CYZGEP6V.js";import{C as q,D as H,E as b,J as U,h as W,j as c,n as O,o as D,s as C}from"./MW6TDS35.js";export default $arcgis.t(([se,_,f,M,I,ae,re,ee,ne])=>{function oe(r){return r.associatedLayer?.url}var le={dateStyle:"short",timeStyle:"short"},de={timeStyle:"medium"};function ue(r){let{layer:e,fieldName:t}=r,i,n=M.supportsFieldConfiguration(e),s;"popupTemplate"in e&&(s=e.popupTemplate);let a=s?s.fieldInfos:[];return ie(r)?.filter(o=>o.name===t).forEach(o=>{let d=!n&&a?a.filter(m=>m.fieldName===o.name):void 0,u=n?e.getFieldAlias(t):d?.length?d[0].label:o.alias;/^raster.(item|service)pixelvalue/iu.test(t)&&(o.type="double");let l={layerField:o,label:u||o.name};l.codedValues=fe(t,r),pe(l),l.simpleFieldType&&(i=l)}),i}function ie(r){let{layer:e}=r;return y(e)||w(e)||$(e)&&e.rasterFields.length?e.rasterFields:e.fields}async function te(r){r.statisticsStatus="in-progress";let{layer:e,view:t}=r;if(y(e)||w(e)||F(e)||S(e))throw new Error("could not get feature count");try{return await he(e,t)}catch{return}}async function ce(r){let{layer:e,view:t,fieldName:i,fieldInfo:n}=r;if(y(e)||w(e)||S(e))throw new Error("could not get statistics for ImageryTileLayer/WCSLayer/VoxelLayer");if(!n||n.layerField.type==="oid"||n.layerField.type==="guid"||n.layerField.type==="global-id")return{totalCount:await te(r),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 a="sourceJSON"in e&&e.sourceJSON.maxRecordCount===s.count;if(p(s.nullcount)&&!a)return{...s,totalCount:s.count+s.nullcount};{let o=await te(r);return{...s,totalCount:o}}}catch{throw new Error("could not get statistics")}}async function me(r){let{layer:e,view:t,fieldName:i}=r;if(y(e)||w(e)||S(e))throw new Error("could not get unique values for ImageryLayer/ImageryTileLayer/WCSLayer/VoxelLayer");E(e)&&(e.outFields=["*"]);try{return await re({layer:e,view:t,field:i})}catch{throw new Error("could not get unique values")}}function pe(r){switch(r.layerField.type){case"string":r.simpleFieldType="string";break;case"date":r.simpleFieldType="date";break;case"timestamp-offset":r.simpleFieldType="timestamp-offset";break;case"date-only":r.simpleFieldType="date-only";break;case"time-only":r.simpleFieldType="time-only";break;case"oid":r.simpleFieldType="oid";break;case"guid":case"global-id":r.simpleFieldType="guid";break;case"small-integer":case"big-integer":case"integer":case"single":case"double":case"long":r.simpleFieldType="number";break;default:r.simpleFieldType="string"}}function fe(r,e){let{layer:t}=e;if(L(t)&&t.subtypeField===r){let d=t.parent?.subtypes?.find(u=>u.code===t.subtypeCode);if(d)return[new ee({code:d.code,name:d.name})]}if(!v(t)&&!$(t))return;let i=v(t)?t.typeIdField:void 0,n=v(t)?t.types:void 0,s,a=ie(e)?.find(d=>d.name===r),o=a?.domain;return v(t)&&i&&n?(i===r?s=n.map(d=>new ee({code:d.id,name:d.name})):(s=[],n.forEach(d=>{if(!d.domains[r]||d.domains[r].type==="inherited"){let u=o;u?.codedValues&&u.codedValues.forEach(l=>{let m=!1;s.forEach(h=>{h.code===l.code&&(m=!0,`, ${h.name},`.includes(`, ${l.name},`)||(h.name+=`, ${l.name}`))}),m||s.push(I.clone(l))})}else d.domains[r].codedValues&&d.domains[r].codedValues.forEach(u=>{let l=!1;s.forEach(m=>{m.code===u.code&&(l=!0,`, ${m.name},`.includes(`, ${u.name},`)||(m.name+=`, ${u.name}`))}),l||s.push(I.clone(u))})})),!s.length&&o?.codedValues&&(s=I.clone(o.codedValues))):o?.codedValues&&(s=a?.domain?.codedValues),s?.length?s:void 0}async function ge(r){let{view:e,layer:t}=r;if($(t)||y(t)||w(t))throw new Error("could not get feature");if(v(t)&&!t.url||Z(t)){let i=t.createQuery();i.start=0,i.num=5,i.outFields=["*"];let n=await t.queryFeatures(i);if(n.features.length)return n;throw new Error("could not get feature")}else{if(!e)return await A(r);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 n=i.availableFields.length===t.fields.length;if(i&&(n||(F(t)||N(t))&&i.availableFields.length>0)){let s=i.createQuery();s.start=0,s.num=5,s.outFields=["*"];let a=await i.queryFeatures(s);return a.features?.length?a:await A(r)}else return await A(r)}}async function A(r){let{layer:e}=r;if($(e)||y(e)||F(e)||N(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 he(r,e){if(E(r))return await ve(r);if(v(r)||j(r)||R(r)||Z(r)||z(r))return await r.queryFeatureCount();if(e&&(F(r)||N(r)))return await ye(r,e)}async function ve(r){let e=r.createQuery();e.outFields=["*"];let t=await r.queryFeatures(e);if(t.features.length)return t.features.length;throw new Error("could not get feature count")}async function ye(r,e){return await(await e.whenLayerView(r)).queryFeatureCount()}var Fe=W`: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}`,P=class extends H{constructor(){super(...arguments),this._messages=Q({blocking:!0}),this._propWatcherTask=new J(this,{task:async([e,t])=>{let i=p(e)&&p(t);if(p(e)||O("error",this,D("layer")),p(t)||O("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=C(),this.arcgisFieldInfoComplete=C()}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()}disconnectedCallback(){super.disconnectedCallback(),this.timeZoneHandle?.remove()}async processProps(){let{view:e,layer:t,fieldName:i,hideStatistics:n}=this;if(!t||!i)return;let s;if(t.declaredClass==="esri.layers.support.Sublayer"){let a=t;e&&await _.whenOnce(()=>!e.updating),s=await a.createFeatureLayer(),await s?.load()}this.props={view:e,layer:s??t,fieldName:i,hideStatistics:n},this.props.fieldInfo=ue(this.props),R(t)&&se.request.interceptors?.push({urls:`${oe(t)}/${t.layerId}`,before(a){a.requestOptions.authMode="no-prompt"}}),this.oneFeatureResponseStatus="in-progress";try{let a=await ge(this.props);this.oneFeatureResponse=a,this.oneFeatureResponseStatus="success"}catch{this.oneFeatureResponseStatus="failed"}if(F(t)||x(t)||k(t)){this.uniqueValuesStatus="failed",this.statisticsStatus="failed";return}if(n)this.uniqueValuesStatus="failed";else{this.uniqueValuesStatus="in-progress";try{let a=await me(this.props);this.uniqueValues=a,a?.uniqueValueInfos?.length?this.uniqueValuesStatus="success":this.uniqueValuesStatus="failed"}catch{this.uniqueValuesStatus="failed"}}if(n)this.statisticsStatus="failed";else{this.statisticsStatus="in-progress";try{let a=await ce(this.props);if(!p(a.totalCount)&&p(a.count)&&this.uniqueValuesStatus==="success"){let o=this.uniqueValues?.uniqueValueInfos??[];for(let d=0;d<o.length;d++){let u=o[d];if(u.value===null){a.totalCount=u.count+a.count;break}}a.totalCount??=a.count}this.statistics=a,this.statisticsStatus="success"}catch{this.statisticsStatus="failed"}}this.setUpTimeZoneHandle()}setUpTimeZoneHandle(){this.timeZoneHandle?.remove();let{props:e}=this,{view:t,fieldInfo:i}=e;["date","timestamp-offset"].includes(this._getStatisticsType(i))&&(this.timeZoneHandle=_.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:n}=i;switch(n.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"?f.formatDate(e,{...this.getIntlDateTimeFormattingOptions("short-date-short-time",t),timeZone:"utc"}):f.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"?f.formatTimestamp(e,{...this.getIntlDateTimeFormattingOptions("short-date-short-time",t),timeZone:"utc"}):f.formatTimestamp(e,{...this.getIntlDateTimeFormattingOptions("short-date-short-time",t),timeZone:i?.timeZone||"system"}):this._getDateString(e,t)}_getDateOnlyString(e,t){return f.formatDateOnly(e,this.getIntlDateTimeFormattingOptions("short-date",t))}_getTimeOnlyString(e,t){return typeof e=="string"?f.formatTimeOnly(e,this.getIntlDateTimeFormattingOptions("short-date-long-time",t)):f.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 f.formatNumber(i,this.getIntlNumberFormattingOptions(t))}_printNumValue(e,t){return p(e)?this._getNumberString(e,t):"--"}_setCompleteRef(){this.arcgisComplete.emit(),this.arcgisFieldInfoComplete.emit()}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)}:f.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 n=this.getPopupTemplateFieldInfo();return f.convertNumberFormatToIntlOptions({digitSeparator:n?.format?.digitSeparator??!0,places:n?.format?.places??2})}getIntlDateTimeFormattingOptions(e,t){let i=this.getCurrentFieldFormat();if(!t?.useFieldFormatting)return i?t?.isTimeOnly?de:le:f.convertDateFormatToIntlOptions(e);let n=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(n)return n;let s=this.getPopupTemplateFieldInfo();return f.convertDateFormatToIntlOptions(s?.format?.dateFormat??e)}originalLayerSupportsFieldConfigs(){let{layer:e}=this;return M.supportsFieldConfiguration(e)}getPopupTemplateFieldInfo(){let{props:e}=this,{layer:t,fieldName:i}=e;return("popupTemplate"in t?t.popupTemplate:void 0)?.fieldInfos?.find(n=>n.fieldName===i)}render(){return this._propWatcherTask.render({complete:()=>{let{props:e}=this,{fieldInfo:t}=e;return t?c`<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,n=this._getFieldTypeLabel(i.layerField.type);return c`<div class="section"><div class="title">${e.fieldType}</div><div>${n}</div></div>`}renderFieldAlias(){let{_messages:e,props:t,hideAlias:i}=this,{fieldInfo:n}=t;return i?"":c`<div class="section"><div class="title">${e.fieldAlias}</div><div>${n.label}</div></div>`}renderFieldDescription(){let{_messages:e,props:t}=this,{layer:i}=t;if(!v(i))return"";let{fieldInfo:n}=t,s=n.layerField.description;return c`<div class="section"><div class="title">${e.fieldDescription}</div><div class=${b({missing:!s})}>${s||e.fieldDescriptionNotSet}</div></div>`}renderFieldValueType(){let{_messages:e,props:t}=this,{layer:i}=t;if(!v(i))return"";let{fieldInfo:n}=t,s=this._getFieldValueTypeCamelCase(n);return c`<div class="section"><div class="title">${e.fieldValueType}</div><div class=${b(s?"":"missing")}>${s?e.fieldValueTypes[s]:e.fieldValueTypeNotSet}</div></div>`}renderFieldSampleValue(){let{oneFeatureResponse:e,oneFeatureResponseStatus:t,statisticsStatus:i,statistics:n,uniqueValuesStatus:s,uniqueValues:a,_messages:o,props:d}=this,{layer:u,fieldName:l,fieldInfo:m}=d,{statistics:h}=o,g;if(y(u)||S(u)||!F(u)&&["string","oid","guid"].includes(this._getStatisticsType(m))&&s!=="failed")return"";t==="success"?e.features.forEach(T=>{(g===void 0||g===null&&T.attributes[l]!==null)&&(g=T.attributes[l])}):i==="success"?g=n?.min??void 0:s==="success"&&(g=a?.uniqueValueInfos?.[0]?.value??a?.uniqueValueInfos?.[1]?.value??void 0);let G=m.codedValues;return p(g)&&(G?g=G.find(T=>g===T.code)?.name||g:g=this._getDisplayString(g,{useFieldFormatting:!0})),c`<div class="section"><div class="title">${o.fieldSampleValue}</div><div class=${b(t==="failed"&&i==="failed"&&s==="failed"||!p(g)?"missing":"")}>${t==="success"||i==="success"||s==="success"?g?.toString()??h.allNulls:t==="failed"&&i==="failed"&&s==="failed"?o.fieldSampleNotAvailable:o.fieldSampleRetrieving}</div></div>`}renderFieldNumericFormat(){let{_messages:e,props:t,hideNumericFormat:i}=this,{fieldName:n,fieldInfo:s,layer:a}=t;if(i||!["double","long","single"].includes(s.layerField.type))return"";let o=this.originalLayerSupportsFieldConfigs()?a.getFieldConfiguration(n):void 0;if(o?.fieldFormat){let{minimumFractionDigits:u,maximumFractionDigits:l}=o.fieldFormat;return c`<div class="section"><div class="title">${e.fieldDecimalPlaces}</div><div>${e.fieldMinimumFractionDigits.replace("${number}",u.toString())}</div><div>${e.fieldMaximumFractionDigits.replace("${number}",l.toString())}</div></div>`}let d="popupTemplate"in a?a.popupTemplate:void 0;if(d?.fieldInfos){let u=d.fieldInfos?.filter(l=>l.fieldName===n);if(u?.length){let l=u[0];if(p(l?.format?.places)){let m=l.format.places;return c`<div class="section"><div class="title">${e.fieldDecimalPlaces}</div><div>${e.fieldNumDecimalPlaces.replace("${number}",m.toString())}</div></div>`}}}return c`<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:n,props:s}=this,{layer:a,fieldInfo:o}=s;return i?(this.arcgisComplete.emit(),this.arcgisFieldInfoComplete.emit(),""):x(a)||k(a)||F(a)||y(a)||S(a)||["long"].includes(o.layerField.type)?(this.arcgisComplete.emit(),this.arcgisFieldInfoComplete.emit(),""):c`<div class="section"><div class="title">${n.fieldStatistics}</div>${!e||e==="missing"||e==="in-progress"?V("field-info-statistics-content",c`<div class="missing">${n.fieldStatisticsRetrieving}</div>`):e==="failed"&&t!=="success"?this.renderNoStatistics():V("field-info-statistics-content",c`<div ${q(this._setCompleteRef)}>${this.renderStatistics()}</div>`)}</div>`}renderNoStatistics(){let{_messages:e}=this;return V("field-info-statistics-content",c`<div class="missing" ${q(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,_messages:t}=this;if(!e)return this.renderNoStatistics();let{statistics:i}=t;return c`<div><div class="statistics-row"><div>${i.numberOfValues}</div><div class="data">${this._printNumValue(e.totalCount)}</div></div>${p(e.sum)?c`<div class="statistics-row"><div>${i.sumOfValues}</div><div class="data">${this._printNumValue(e.sum)}</div></div>`:null}${p(e.min)?c`<div class="statistics-row"><div>${i.minimum}</div><div class="data">${this._printNumValue(e.min)}</div></div>`:null}${p(e.max)?c`<div class="statistics-row"><div>${i.maximum}</div><div class="data">${this._printNumValue(e.max)}</div></div>`:null}${p(e.avg)?c`<div class="statistics-row"><div>${i.average}</div><div class="data">${this._printNumValue(e.avg)}</div></div>`:null}${p(e.stddev)?c`<div class="statistics-row"><div>${i.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:n}=i;return c`<div><div class="statistics-row"><div>${n.numberOfValues}</div>${t!=="success"?c`<div class="missing">--</div>`:c`<div class="data">${this._printNumValue(e?.totalCount)}</div>`}</div>${this.renderNullValues()}${this.renderTopValues()}</div>`}renderDateStatistics(){let{statistics:e,view:t,props:i,_messages:n}=this,{fieldInfo:s}=i;if(!e||!p(e.max)||!p(e.min))return this.renderNoStatistics();let{statistics:a}=n,o=e.max-e.min,d=Math.floor(o/31536e6),u=Math.floor((o-d*31536e6)/2628e6),l=Math.ceil((o-u*2628e6)/864e5);l>=30&&(u+=1,l=0);let m=d===1?a.timeSpanOptions.year:d>1?a.timeSpanOptions.years.replace("${years}",d.toString()):"";m+=d>0&&(u>0||l>0)?", ":"",m+=u===1?a.timeSpanOptions.month:u>1?a.timeSpanOptions.months.replace("${months}",u.toString()):"",m+=u>0&&l>0?", ":"",m+=l===1?a.timeSpanOptions.day:l>1?a.timeSpanOptions.days.replace("${days}",l.toString()):"";let h=s.simpleFieldType!=="timestamp-offset"||!t||t.timeZone!=="unknown",g=s.simpleFieldType==="time-only";return c`<div><div class="statistics-row"><div>${a.numberOfValues}</div><div class="data">${this._printNumValue(e?.totalCount)}</div></div>${h&&p(e.min)?c`<div class="statistics-row"><div>${g?a.minimumTime:a.minimumDate}</div><div class="data">${this._getDisplayString(e.min)}</div></div>`:null}${h&&p(e.max)?c`<div class="statistics-row"><div>${g?a.maximumTime:a.maximumDate}</div><div class="data">${this._getDisplayString(e.max)}</div></div>`:null}${h&&p(e.avg)?c`<div class="statistics-row"><div>${g?a.averageTime:a.averageDate}</div><div class="data">${this._getDisplayString(e.avg)}</div></div>`:null}${h&&!g&&p(e.min)&&p(e.max)&&o>0?c`<div class="statistics-row"><div>${a.timespan}</div><div class="data">${m}</div></div>`:null}${this.renderNullValues()}</div>`}renderTopValues(){let{uniqueValues:e,uniqueValuesStatus:t,_messages:i,props:n}=this,{fieldInfo:s}=n,{statistics:a}=i;if(e?.uniqueValueInfos?.length){let o=e.uniqueValueInfos;o.sort((l,m)=>l.count<m.count?1:l.count>m.count?-1:0);let d=s.codedValues,u=o.filter(l=>l.value!==null).filter((l,m)=>l&&m<10).map(l=>{let m=l.value;return d?d.forEach(h=>{m===h.code&&(m=h.name)}):m=this._getDisplayString(m),c`<div class="statistics-row"><div class="data">${`${m}`}</div><div class="count">${this._printNumValue(l.count)}</div></div>`});return u.length?c`<div><div class="statistics-row-top-values"><div>${o.length>10?a.topTenValues:a.topValues}</div><div>${a.count}</div></div>${u}</div>`:""}else return c`<div><div class="statistics-row-top-values"><div>${a.topValues}</div><div>${a.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:n}=i,s=e?.nullcount;if(!p(s)&&t){let a=t.uniqueValueInfos;for(let o=0;o<a.length;o++){let d=a[o];if(d.value===null){s=d.count;break}}}return c`<div class="statistics-row"><div>${n.numberOfNulls}</div>${p(s)?c`<div class="data">${this._printNumValue(s)}</div>`:c`<div class="missing">--</div>`}</div>`}};U("arcgis-field-info",P);return P},"config","core/reactiveUtils","intl","applications/PortalApp/layerUtils","core/lang","smartMapping/statistics/summaryStatistics","smartMapping/statistics/uniqueValues","layers/support/CodedValue","rest/support/Query")
|
|
2
|
+
import{a as x,b as j,c as k,d as E,e as v,f as z,g as $,h as y,i as B,j as K,k as N,l as R,m as F,n as X,o as Y,p as L,q as S,r as w,s as Z}from"./Z5QBBHLD.js";import{a as J,b as p}from"./YJFSSORL.js";import{a as Q}from"./7ZUWFAYH.js";import"./MKKGMWEJ.js";import"./TWW63D32.js";import{a as V}from"./CYZGEP6V.js";import{C as q,D as H,E as b,J as U,h as W,j as u,n as O,o as D,s as C}from"./MW6TDS35.js";export default $arcgis.t(([se,_,f,M,I,ae,re,ee,ne])=>{function oe(r){return r.associatedLayer?.url}var le={dateStyle:"short",timeStyle:"short"},de={timeStyle:"medium"};function ue(r){let{layer:e,fieldName:t}=r,i,n=M.supportsFieldConfiguration(e),s;"popupTemplate"in e&&(s=e.popupTemplate);let a=s?s.fieldInfos:[];return ie(r)?.filter(o=>o.name===t).forEach(o=>{let d=!n&&a?a.filter(m=>m.fieldName===o.name):void 0,c=n?e.getFieldAlias(t):d?.length?d[0].label:o.alias;/^raster.(item|service)pixelvalue/iu.test(t)&&(o.type="double");let l={layerField:o,label:c||o.name};l.codedValues=fe(t,r),pe(l),l.simpleFieldType&&(i=l)}),i}function ie(r){let{layer:e}=r;return y(e)||w(e)||$(e)&&e.rasterFields.length?e.rasterFields:e.fields}async function te(r){r.statisticsStatus="in-progress";let{layer:e,view:t}=r;if(y(e)||w(e)||F(e)||S(e))throw new Error("could not get feature count");try{return await he(e,t)}catch{return}}async function ce(r){let{layer:e,view:t,fieldName:i,fieldInfo:n}=r;if(y(e)||w(e)||S(e))throw new Error("could not get statistics for ImageryTileLayer/WCSLayer/VoxelLayer");if(!n||n.layerField.type==="oid"||n.layerField.type==="guid"||n.layerField.type==="global-id")return{totalCount:await te(r),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 a="sourceJSON"in e&&e.sourceJSON.maxRecordCount===s.count;if(p(s.nullcount)&&!a)return{...s,totalCount:s.count+s.nullcount};{let o=await te(r);return{...s,totalCount:o}}}catch{throw new Error("could not get statistics")}}async function me(r){let{layer:e,view:t,fieldName:i}=r;if(y(e)||w(e)||S(e))throw new Error("could not get unique values for ImageryLayer/ImageryTileLayer/WCSLayer/VoxelLayer");E(e)&&(e.outFields=["*"]);try{return await re({layer:e,view:t,field:i})}catch{throw new Error("could not get unique values")}}function pe(r){switch(r.layerField.type){case"string":r.simpleFieldType="string";break;case"date":r.simpleFieldType="date";break;case"timestamp-offset":r.simpleFieldType="timestamp-offset";break;case"date-only":r.simpleFieldType="date-only";break;case"time-only":r.simpleFieldType="time-only";break;case"oid":r.simpleFieldType="oid";break;case"guid":case"global-id":r.simpleFieldType="guid";break;case"small-integer":case"big-integer":case"integer":case"single":case"double":case"long":r.simpleFieldType="number";break;default:r.simpleFieldType="string"}}function fe(r,e){let{layer:t}=e;if(L(t)&&t.subtypeField===r){let d=t.parent?.subtypes?.find(c=>c.code===t.subtypeCode);if(d)return[new ee({code:d.code,name:d.name})]}if(!v(t)&&!$(t))return;let i=v(t)?t.typeIdField:void 0,n=v(t)?t.types:void 0,s,a=ie(e)?.find(d=>d.name===r),o=a?.domain;return v(t)&&i&&n?(i===r?s=n.map(d=>new ee({code:d.id,name:d.name})):(s=[],n.forEach(d=>{if(!d.domains[r]||d.domains[r].type==="inherited"){let c=o;c?.codedValues&&c.codedValues.forEach(l=>{let m=!1;s.forEach(h=>{h.code===l.code&&(m=!0,`, ${h.name},`.includes(`, ${l.name},`)||(h.name+=`, ${l.name}`))}),m||s.push(I.clone(l))})}else d.domains[r].codedValues&&d.domains[r].codedValues.forEach(c=>{let l=!1;s.forEach(m=>{m.code===c.code&&(l=!0,`, ${m.name},`.includes(`, ${c.name},`)||(m.name+=`, ${c.name}`))}),l||s.push(I.clone(c))})})),!s.length&&o?.codedValues&&(s=I.clone(o.codedValues))):o?.codedValues&&(s=a?.domain?.codedValues),s?.length?s:void 0}async function ge(r){let{view:e,layer:t}=r;if($(t)||y(t)||w(t))throw new Error("could not get feature");if(v(t)&&!t.url||Z(t)){let i=t.createQuery();i.start=0,i.num=5,i.outFields=["*"];let n=await t.queryFeatures(i);if(n.features.length)return n;throw new Error("could not get feature")}else{if(!e)return await A(r);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 n=i.availableFields.length===t.fields.length;if(i&&(n||(F(t)||N(t))&&i.availableFields.length>0)){let s=i.createQuery();s.start=0,s.num=5,s.outFields=["*"];let a=await i.queryFeatures(s);return a.features?.length?a:await A(r)}else return await A(r)}}async function A(r){let{layer:e}=r;if($(e)||y(e)||F(e)||N(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 he(r,e){if(E(r))return await ve(r);if(v(r)||j(r)||R(r)||Z(r)||z(r))return await r.queryFeatureCount();if(e&&(F(r)||N(r)))return await ye(r,e)}async function ve(r){let e=r.createQuery();e.outFields=["*"];let t=await r.queryFeatures(e);if(t.features.length)return t.features.length;throw new Error("could not get feature count")}async function ye(r,e){return await(await e.whenLayerView(r)).queryFeatureCount()}var Fe=W`: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}`,P=class extends H{constructor(){super(...arguments),this._messages=Q({blocking:!0}),this._propWatcherTask=new J(this,{task:async([e,t])=>{let i=p(e)&&p(t);if(p(e)||O("error",this,D("layer")),p(t)||O("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=C(),this.arcgisFieldInfoComplete=C()}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()}disconnectedCallback(){super.disconnectedCallback(),this.timeZoneHandle?.remove()}async processProps(){let{view:e,layer:t,fieldName:i,hideStatistics:n}=this;if(!t||!i)return;let s;if(t.declaredClass==="esri.layers.support.Sublayer"){let a=t;e&&await _.whenOnce(()=>!e.updating),s=await a.createFeatureLayer(),await s?.load()}this.props={view:e,layer:s??t,fieldName:i,hideStatistics:n},this.props.fieldInfo=ue(this.props),R(t)&&se.request.interceptors?.push({urls:`${oe(t)}/${t.layerId}`,before(a){a.requestOptions.authMode="no-prompt"}}),this.oneFeatureResponseStatus="in-progress";try{let a=await ge(this.props);this.oneFeatureResponse=a,this.oneFeatureResponseStatus="success"}catch{this.oneFeatureResponseStatus="failed"}if(F(t)||x(t)||k(t)){this.uniqueValuesStatus="failed",this.statisticsStatus="failed";return}if(n)this.uniqueValuesStatus="failed";else{this.uniqueValuesStatus="in-progress";try{let a=await me(this.props);this.uniqueValues=a,a?.uniqueValueInfos?.length?this.uniqueValuesStatus="success":this.uniqueValuesStatus="failed"}catch{this.uniqueValuesStatus="failed"}}if(n)this.statisticsStatus="failed";else{this.statisticsStatus="in-progress";try{let a=await ce(this.props);if(!p(a.totalCount)&&p(a.count)&&this.uniqueValuesStatus==="success"){let o=this.uniqueValues?.uniqueValueInfos??[];for(let d=0;d<o.length;d++){let c=o[d];if(c.value===null){a.totalCount=c.count+a.count;break}}a.totalCount??=a.count}this.statistics=a,this.statisticsStatus="success"}catch{this.statisticsStatus="failed"}}this.setUpTimeZoneHandle()}setUpTimeZoneHandle(){this.timeZoneHandle?.remove();let{props:e}=this,{view:t,fieldInfo:i}=e;["date","timestamp-offset"].includes(this._getStatisticsType(i))&&(this.timeZoneHandle=_.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:n}=i;switch(n.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"?f.formatDate(e,{...this.getIntlDateTimeFormattingOptions("short-date-short-time",t),timeZone:"utc"}):f.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"?f.formatTimestamp(e,{...this.getIntlDateTimeFormattingOptions("short-date-short-time",t),timeZone:"utc"}):f.formatTimestamp(e,{...this.getIntlDateTimeFormattingOptions("short-date-short-time",t),timeZone:i?.timeZone||"system"}):this._getDateString(e,t)}_getDateOnlyString(e,t){return f.formatDateOnly(e,this.getIntlDateTimeFormattingOptions("short-date",t))}_getTimeOnlyString(e,t){return typeof e=="string"?f.formatTimeOnly(e,this.getIntlDateTimeFormattingOptions("short-date-long-time",t)):f.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 f.formatNumber(i,this.getIntlNumberFormattingOptions(t))}_printNumValue(e,t){return p(e)?this._getNumberString(e,t):"--"}_setCompleteRef(){this.arcgisComplete.emit(),this.arcgisFieldInfoComplete.emit()}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)}:f.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 n=this.getPopupTemplateFieldInfo();return f.convertNumberFormatToIntlOptions({digitSeparator:n?.format?.digitSeparator??!0,places:n?.format?.places??2})}getIntlDateTimeFormattingOptions(e,t){let i=this.getCurrentFieldFormat();if(!t?.useFieldFormatting)return i?t?.isTimeOnly?de:le:f.convertDateFormatToIntlOptions(e);let n=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(n)return n;let s=this.getPopupTemplateFieldInfo();return f.convertDateFormatToIntlOptions(s?.format?.dateFormat??e)}originalLayerSupportsFieldConfigs(){let{layer:e}=this;return M.supportsFieldConfiguration(e)}getPopupTemplateFieldInfo(){let{props:e}=this,{layer:t,fieldName:i}=e;return("popupTemplate"in t?t.popupTemplate:void 0)?.fieldInfos?.find(n=>n.fieldName===i)}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,n=this._getFieldTypeLabel(i.layerField.type);return u`<div class="section"><div class="title">${e.fieldType}</div><div>${n}</div></div>`}renderFieldAlias(){let{_messages:e,props:t,hideAlias:i}=this,{fieldInfo:n}=t;return i?"":u`<div class="section"><div class="title">${e.fieldAlias}</div><div>${n.label}</div></div>`}renderFieldDescription(){let{_messages:e,props:t}=this,{layer:i}=t;if(!v(i))return"";let{fieldInfo:n}=t,s=n.layerField.description;return u`<div class="section"><div class="title">${e.fieldDescription}</div><div class=${b({missing:!s})}>${s||e.fieldDescriptionNotSet}</div></div>`}renderFieldValueType(){let{_messages:e,props:t}=this,{layer:i}=t;if(!v(i))return"";let{fieldInfo:n}=t,s=this._getFieldValueTypeCamelCase(n);return u`<div class="section"><div class="title">${e.fieldValueType}</div><div class=${b(s?"":"missing")}>${s?e.fieldValueTypes[s]:e.fieldValueTypeNotSet}</div></div>`}renderFieldSampleValue(){let{oneFeatureResponse:e,oneFeatureResponseStatus:t,statisticsStatus:i,statistics:n,uniqueValuesStatus:s,uniqueValues:a,_messages:o,props:d}=this,{layer:c,fieldName:l,fieldInfo:m}=d,{statistics:h}=o,g;if(y(c)||S(c)||!F(c)&&["string","oid","guid"].includes(this._getStatisticsType(m))&&s!=="failed")return"";t==="success"?e.features.forEach(T=>{(g===void 0||g===null&&T.attributes[l]!==null)&&(g=T.attributes[l])}):i==="success"?g=n?.min??void 0:s==="success"&&(g=a?.uniqueValueInfos?.[0]?.value??a?.uniqueValueInfos?.[1]?.value??void 0);let G=m.codedValues;return p(g)&&(G?g=G.find(T=>g===T.code)?.name||g:g=this._getDisplayString(g,{useFieldFormatting:!0})),u`<div class="section"><div class="title">${o.fieldSampleValue}</div><div class=${b(t==="failed"&&i==="failed"&&s==="failed"||!p(g)?"missing":"")}>${t==="success"||i==="success"||s==="success"?g?.toString()??h.allNulls:t==="failed"&&i==="failed"&&s==="failed"?o.fieldSampleNotAvailable:o.fieldSampleRetrieving}</div></div>`}renderFieldNumericFormat(){let{_messages:e,props:t,hideNumericFormat:i}=this,{fieldName:n,fieldInfo:s,layer:a}=t;if(i||!["double","long","single"].includes(s.layerField.type))return"";let o=this.originalLayerSupportsFieldConfigs()?a.getFieldConfiguration(n):void 0;if(o?.fieldFormat){let{minimumFractionDigits:c,maximumFractionDigits:l}=o.fieldFormat;return u`<div class="section"><div class="title">${e.fieldDecimalPlaces}</div><div>${e.fieldMinimumFractionDigits.replace("${number}",c.toString())}</div><div>${e.fieldMaximumFractionDigits.replace("${number}",l.toString())}</div></div>`}let d="popupTemplate"in a?a.popupTemplate:void 0;if(d?.fieldInfos){let c=d.fieldInfos?.filter(l=>l.fieldName===n);if(c?.length){let l=c[0];if(p(l?.format?.places)){let m=l.format.places;return u`<div class="section"><div class="title">${e.fieldDecimalPlaces}</div><div>${e.fieldNumDecimalPlaces.replace("${number}",m.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:n,props:s}=this,{layer:a,fieldInfo:o}=s;return i?(this.arcgisComplete.emit(),this.arcgisFieldInfoComplete.emit(),""):x(a)||k(a)||F(a)||y(a)||S(a)||["long"].includes(o.layerField.type)?(this.arcgisComplete.emit(),this.arcgisFieldInfoComplete.emit(),""):u`<div class="section"><div class="title">${n.fieldStatistics}</div>${!e||e==="missing"||e==="in-progress"?V("field-info-statistics-content",u`<div class="missing">${n.fieldStatisticsRetrieving}</div>`):e==="failed"&&t!=="success"?this.renderNoStatistics():V("field-info-statistics-content",u`<div ${q(this._setCompleteRef)}>${this.renderStatistics()}</div>`)}</div>`}renderNoStatistics(){let{_messages:e}=this;return V("field-info-statistics-content",u`<div class="missing" ${q(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,_messages:t}=this;if(!e)return this.renderNoStatistics();let{statistics:i}=t;return u`<div><div class="statistics-row"><div>${i.numberOfValues}</div><div class="data">${this._printNumValue(e.totalCount)}</div></div>${p(e.sum)?u`<div class="statistics-row"><div>${i.sumOfValues}</div><div class="data">${this._printNumValue(e.sum)}</div></div>`:null}${p(e.min)?u`<div class="statistics-row"><div>${i.minimum}</div><div class="data">${this._printNumValue(e.min)}</div></div>`:null}${p(e.max)?u`<div class="statistics-row"><div>${i.maximum}</div><div class="data">${this._printNumValue(e.max)}</div></div>`:null}${p(e.avg)?u`<div class="statistics-row"><div>${i.average}</div><div class="data">${this._printNumValue(e.avg)}</div></div>`:null}${p(e.stddev)?u`<div class="statistics-row"><div>${i.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:n}=i;return u`<div><div class="statistics-row"><div>${n.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,_messages:n}=this,{fieldInfo:s}=i;if(!e||!p(e.max)||!p(e.min))return this.renderNoStatistics();let{statistics:a}=n,o=e.max-e.min,d=Math.floor(o/31536e6),c=Math.floor((o-d*31536e6)/2628e6),l=Math.ceil((o-c*2628e6)/864e5);l>=30&&(c+=1,l=0);let m=d===1?a.timeSpanOptions.year:d>1?a.timeSpanOptions.years.replace("${years}",d.toString()):"";m+=d>0&&(c>0||l>0)?", ":"",m+=c===1?a.timeSpanOptions.month:c>1?a.timeSpanOptions.months.replace("${months}",c.toString()):"",m+=c>0&&l>0?", ":"",m+=l===1?a.timeSpanOptions.day:l>1?a.timeSpanOptions.days.replace("${days}",l.toString()):"";let h=s.simpleFieldType!=="timestamp-offset"||!t||t.timeZone!=="unknown",g=s.simpleFieldType==="time-only";return u`<div><div class="statistics-row"><div>${a.numberOfValues}</div><div class="data">${this._printNumValue(e?.totalCount)}</div></div>${h&&p(e.min)?u`<div class="statistics-row"><div>${g?a.minimumTime:a.minimumDate}</div><div class="data">${this._getDisplayString(e.min)}</div></div>`:null}${h&&p(e.max)?u`<div class="statistics-row"><div>${g?a.maximumTime:a.maximumDate}</div><div class="data">${this._getDisplayString(e.max)}</div></div>`:null}${h&&p(e.avg)?u`<div class="statistics-row"><div>${g?a.averageTime:a.averageDate}</div><div class="data">${this._getDisplayString(e.avg)}</div></div>`:null}${h&&!g&&p(e.min)&&p(e.max)&&o>0?u`<div class="statistics-row"><div>${a.timespan}</div><div class="data">${m}</div></div>`:null}${this.renderNullValues()}</div>`}renderTopValues(){let{uniqueValues:e,uniqueValuesStatus:t,_messages:i,props:n}=this,{fieldInfo:s}=n,{statistics:a}=i;if(e?.uniqueValueInfos?.length){let o=e.uniqueValueInfos;o.sort((l,m)=>l.count<m.count?1:l.count>m.count?-1:0);let d=s.codedValues,c=o.filter(l=>l.value!==null).filter((l,m)=>l&&m<10).map(l=>{let m=l.value;return d?d.forEach(h=>{m===h.code&&(m=h.name)}):m=this._getDisplayString(m),u`<div class="statistics-row"><div class="data">${`${m}`}</div><div class="count">${this._printNumValue(l.count)}</div></div>`});return c.length?u`<div><div class="statistics-row-top-values"><div>${o.length>10?a.topTenValues:a.topValues}</div><div>${a.count}</div></div>${c}</div>`:""}else return u`<div><div class="statistics-row-top-values"><div>${a.topValues}</div><div>${a.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:n}=i,s=e?.nullcount;if(!p(s)&&t){let a=t.uniqueValueInfos;for(let o=0;o<a.length;o++){let d=a[o];if(d.value===null){s=d.count;break}}}return u`<div class="statistics-row"><div>${n.numberOfNulls}</div>${p(s)?u`<div class="data">${this._printNumValue(s)}</div>`:u`<div class="missing">--</div>`}</div>`}};U("arcgis-field-info",P);return P},"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 i,x as e}from"./MW6TDS35.js";var a=e(i,{"arcgis-ckeditor5":[()=>import("./UG7AGGLT.js"),"canResizeVertically,currentLanguage,customConfig,customExpressionCheck:,editorType,groupFieldsAndExpressions,intlExpressionsGroupHeading,intlFieldsGroupHeading,intlTextPlaceHolder,mentionFields:,readOnly,textData;getData,setFocus"],"arcgis-ckeditor5-popover":[()=>import("./EX3AW7Q2.js"),"guid,intlCancel,intlLabel,intlOk,refElement:;reposition"],"arcgis-color-input":[()=>import("./EVYGOWCG.js"),"_messages:,clearable,color,compact,disabled,hideRecentColors,messageOverrides:,placement,popoverProps:,showTransparency,storageId;close,setFocus;isOpen"],"arcgis-coordinate-system-picker":[()=>import("./LFOKTAGH.js"),"_messages:,autoFilterToDefault,defaultWkid,filterEnabled,hideCategories:,value:;getSRDescription"],"arcgis-coordinate-system-picker-tree":[()=>import("./E3SVPX4L.js"),"data:,value"],"arcgis-field-info":[()=>import("./
|
|
2
|
+
import{I as i,x as e}from"./MW6TDS35.js";var a=e(i,{"arcgis-ckeditor5":[()=>import("./UG7AGGLT.js"),"canResizeVertically,currentLanguage,customConfig,customExpressionCheck:,editorType,groupFieldsAndExpressions,intlExpressionsGroupHeading,intlFieldsGroupHeading,intlTextPlaceHolder,mentionFields:,readOnly,textData;getData,setFocus"],"arcgis-ckeditor5-popover":[()=>import("./EX3AW7Q2.js"),"guid,intlCancel,intlLabel,intlOk,refElement:;reposition"],"arcgis-color-input":[()=>import("./EVYGOWCG.js"),"_messages:,clearable,color,compact,disabled,hideRecentColors,messageOverrides:,placement,popoverProps:,showTransparency,storageId;close,setFocus;isOpen"],"arcgis-coordinate-system-picker":[()=>import("./LFOKTAGH.js"),"_messages:,autoFilterToDefault,defaultWkid,filterEnabled,hideCategories:,value:;getSRDescription"],"arcgis-coordinate-system-picker-tree":[()=>import("./E3SVPX4L.js"),"data:,value"],"arcgis-field-info":[()=>import("./XKO6BIJ2.js"),"_messages:,fieldName,hideAlias,hideNumericFormat,hideStatistics,layer:,view:;refresh"],"arcgis-field-pick-list":[()=>import("./KZFC5ZBH.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("./WC3RM7YK.js"),"_messages:,average,bins:,colorBlendingEnabled,colorStops:,dataLines:,icon,label,layout,max,messageOverrides:,min,standardDeviation"],"arcgis-label-input":[()=>import("./5WP36RAW.js"),"alignment,editing,labelFormatter:,readOnly,value;edit;getLabelBoundingClientRect"],"arcgis-picker-input":[()=>import("./QISJWNH5.js"),"disabled,heading,iconEnd,intlDone,label,popoverProps:;close,setFocus"],"arcgis-ramp-color":[()=>import("./FKO67W3F.js"),"layout,max,min,stops:"],"arcgis-ramp-color-break":[()=>import("./ZTXNPEHL.js"),"layout,max,min,stops:"],"arcgis-ramp-opacity":[()=>import("./7PL77HAZ.js"),"fillColor,layout,max,min,stops:"],"arcgis-slider":[()=>import("./GTMCT5DS.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-input":[()=>import("./H6QXW6NX.js"),"disabled,flipLabels,label,max,min,scale,step,unitsLabel,value,withSteppers"],"arcgis-ticks":[()=>import("./FKHGUT45.js"),"interactive,interpolationExponent,labelFormatter:,labelPlacement,layout,max,min,mirrored,mode,showBaseline,showLabels,values"],"arcgis-unique-values-list":[()=>import("./XS3YRTYG.js"),"_messages:,fieldName,layer:,maxHeight,multiple,numberFormatOptions:,partialUniqueValues,selectedValues:,showFilterLength,sortBy,uniqueValues:,view:,visualizationSource;getUniqueValues,setFocus"],"arcgis-value-picker":[()=>import("./4KRPPRHW.js"),"autoDestroyDisabled,disabled,hideNextButton,hidePlayButton,hidePreviousButton,icon,label,layout,loop,messages:,playRate,state:;destroy;next,pause,play,previous"],"arcgis-value-picker-collection":[()=>import("./V43FDQ7C.js"),"autoDestroyDisabled,canNext,canPlay,canPrevious,currentValue:,items:;destroy;reset,step"],"arcgis-value-picker-combobox":[()=>import("./B6C7ZZDN.js"),"autoDestroyDisabled,canNext,canPlay,canPrevious,currentValue:,disabled,items:,messages:;destroy;reset,step"],"arcgis-value-picker-label":[()=>import("./X4EYTR3Z.js"),"autoDestroyDisabled,canNext,canPlay,canPrevious,currentValue:,items:;destroy;reset,step"],"arcgis-value-picker-slider":[()=>import("./FZ4Q7EMA.js"),"autoDestroyDisabled,canNext,canPlay,canPrevious,currentValue,disabled,labelFormatter:,labels:,layout,majorTicks:,max,min,minorTicks:,mirrored,steps:;destroy;reset,step"]});a({resourcesUrl:import.meta.url});var s=new CSSStyleSheet;s.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-input,arcgis-ticks,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,s];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,i)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
2
|
import { c as Q } from "../../chunks/runtime.js";
|
|
3
|
-
import { css as H, html as
|
|
3
|
+
import { css as H, html as d } from "lit";
|
|
4
4
|
import { keyed as b } from "lit/directives/keyed.js";
|
|
5
5
|
import { ref as O } from "lit/directives/ref.js";
|
|
6
6
|
import { LitElement as J, createEvent as D, safeClassMap as V } from "@arcgis/lumina";
|
|
@@ -34,12 +34,12 @@ function ue(r) {
|
|
|
34
34
|
let s;
|
|
35
35
|
"popupTemplate" in e && (s = e.popupTemplate);
|
|
36
36
|
const a = s ? s.fieldInfos : [];
|
|
37
|
-
return W(r)?.filter((
|
|
38
|
-
const o = !n && a ? a.filter((g) => g.fieldName ===
|
|
39
|
-
/^raster.(item|service)pixelvalue/iu.test(t) && (
|
|
37
|
+
return W(r)?.filter((c) => c.name === t).forEach((c) => {
|
|
38
|
+
const o = !n && a ? a.filter((g) => g.fieldName === c.name) : void 0, l = n ? e.getFieldAlias(t) : o?.length ? o[0].label : c.alias;
|
|
39
|
+
/^raster.(item|service)pixelvalue/iu.test(t) && (c.type = "double");
|
|
40
40
|
const u = {
|
|
41
|
-
layerField:
|
|
42
|
-
label: l ||
|
|
41
|
+
layerField: c,
|
|
42
|
+
label: l || c.name
|
|
43
43
|
};
|
|
44
44
|
u.codedValues = fe(t, r), me(u), u.simpleFieldType && (i = u);
|
|
45
45
|
}), i;
|
|
@@ -147,7 +147,7 @@ function fe(r, e) {
|
|
|
147
147
|
return;
|
|
148
148
|
const i = v(t) ? t.typeIdField : void 0, n = v(t) ? t.types : void 0;
|
|
149
149
|
let s;
|
|
150
|
-
const m = W(e)?.find((o) => o.name === r),
|
|
150
|
+
const m = W(e)?.find((o) => o.name === r), c = m?.domain;
|
|
151
151
|
return v(t) && i && n ? (i === r ? s = n.map(
|
|
152
152
|
(o) => (
|
|
153
153
|
// fake coded values
|
|
@@ -158,7 +158,7 @@ function fe(r, e) {
|
|
|
158
158
|
)
|
|
159
159
|
) : (s = [], n.forEach((o) => {
|
|
160
160
|
if (!o.domains[r] || o.domains[r].type === "inherited") {
|
|
161
|
-
const l =
|
|
161
|
+
const l = c;
|
|
162
162
|
l?.codedValues && l.codedValues.forEach((u) => {
|
|
163
163
|
let g = !1;
|
|
164
164
|
s.forEach((p) => {
|
|
@@ -171,7 +171,7 @@ function fe(r, e) {
|
|
|
171
171
|
g.code === l.code && (u = !0, `, ${g.name},`.includes(`, ${l.name},`) || (g.name += `, ${l.name}`));
|
|
172
172
|
}), u || s.push(I.clone(l));
|
|
173
173
|
});
|
|
174
|
-
})), !s.length &&
|
|
174
|
+
})), !s.length && c?.codedValues && (s = I.clone(c.codedValues))) : c?.codedValues && (s = m?.domain?.codedValues), s?.length ? s : void 0;
|
|
175
175
|
}
|
|
176
176
|
async function pe(r) {
|
|
177
177
|
const { view: e, layer: t } = r;
|
|
@@ -309,8 +309,8 @@ class Fe extends J {
|
|
|
309
309
|
const a = await de(this.props);
|
|
310
310
|
if (!f(a.totalCount) && f(a.count) && this.uniqueValuesStatus === "success") {
|
|
311
311
|
const m = this.uniqueValues?.uniqueValueInfos ?? [];
|
|
312
|
-
for (let
|
|
313
|
-
const o = m[
|
|
312
|
+
for (let c = 0; c < m.length; c++) {
|
|
313
|
+
const o = m[c];
|
|
314
314
|
if (o.value === null) {
|
|
315
315
|
a.totalCount = o.count + a.count;
|
|
316
316
|
break;
|
|
@@ -546,27 +546,28 @@ class Fe extends J {
|
|
|
546
546
|
}
|
|
547
547
|
render() {
|
|
548
548
|
return this._propWatcherTask.render({
|
|
549
|
+
pending: () => d`<calcite-scrim loading></calcite-scrim>`,
|
|
549
550
|
complete: () => {
|
|
550
551
|
const { props: e } = this, { fieldInfo: t } = e;
|
|
551
|
-
return t ?
|
|
552
|
+
return t ? d`<div class="container">${this.renderFieldType()}${this.renderFieldAlias()}${this.renderFieldDescription()}${this.renderFieldValueType()}${this.renderFieldSampleValue()}${this.renderFieldNumericFormat()}${this.renderFieldStatistics()}</div>` : "";
|
|
552
553
|
},
|
|
553
554
|
error: () => ""
|
|
554
555
|
});
|
|
555
556
|
}
|
|
556
557
|
renderFieldType() {
|
|
557
558
|
const { _messages: e, props: t } = this, { fieldInfo: i } = t, n = this._getFieldTypeLabel(i.layerField.type);
|
|
558
|
-
return
|
|
559
|
+
return d`<div class="section"><div class="title">${e.fieldType}</div><div>${n}</div></div>`;
|
|
559
560
|
}
|
|
560
561
|
renderFieldAlias() {
|
|
561
562
|
const { _messages: e, props: t, hideAlias: i } = this, { fieldInfo: n } = t;
|
|
562
|
-
return i ? "" :
|
|
563
|
+
return i ? "" : d`<div class="section"><div class="title">${e.fieldAlias}</div><div>${n.label}</div></div>`;
|
|
563
564
|
}
|
|
564
565
|
renderFieldDescription() {
|
|
565
566
|
const { _messages: e, props: t } = this, { layer: i } = t;
|
|
566
567
|
if (!v(i))
|
|
567
568
|
return "";
|
|
568
569
|
const { fieldInfo: n } = t, s = n.layerField.description;
|
|
569
|
-
return
|
|
570
|
+
return d`<div class="section"><div class="title">${e.fieldDescription}</div><div class=${V({
|
|
570
571
|
missing: !s
|
|
571
572
|
})}>${s || e.fieldDescriptionNotSet}</div></div>`;
|
|
572
573
|
}
|
|
@@ -575,10 +576,10 @@ class Fe extends J {
|
|
|
575
576
|
if (!v(i))
|
|
576
577
|
return "";
|
|
577
578
|
const { fieldInfo: n } = t, s = this._getFieldValueTypeCamelCase(n);
|
|
578
|
-
return
|
|
579
|
+
return d`<div class="section"><div class="title">${e.fieldValueType}</div><div class=${V(s ? "" : "missing")}>${s ? e.fieldValueTypes[s] : e.fieldValueTypeNotSet}</div></div>`;
|
|
579
580
|
}
|
|
580
581
|
renderFieldSampleValue() {
|
|
581
|
-
const { oneFeatureResponse: e, oneFeatureResponseStatus: t, statisticsStatus: i, statistics: n, uniqueValuesStatus: s, uniqueValues: a, _messages: m, props:
|
|
582
|
+
const { oneFeatureResponse: e, oneFeatureResponseStatus: t, statisticsStatus: i, statistics: n, uniqueValuesStatus: s, uniqueValues: a, _messages: m, props: c } = this, { layer: o, fieldName: l, fieldInfo: u } = c, { statistics: g } = m;
|
|
582
583
|
let p;
|
|
583
584
|
if (y(o) || S(o) || !F(o) && ["string", "oid", "guid"].includes(this._getStatisticsType(u)) && s !== "failed")
|
|
584
585
|
return "";
|
|
@@ -586,7 +587,7 @@ class Fe extends J {
|
|
|
586
587
|
(p === void 0 || p === null && $.attributes[l] !== null) && (p = $.attributes[l]);
|
|
587
588
|
}) : i === "success" ? p = n?.min ?? void 0 : s === "success" && (p = a?.uniqueValueInfos?.[0]?.value ?? a?.uniqueValueInfos?.[1]?.value ?? void 0);
|
|
588
589
|
const N = u.codedValues;
|
|
589
|
-
return f(p) && (N ? p = N.find(($) => p === $.code)?.name || p : p = this._getDisplayString(p, { useFieldFormatting: !0 })),
|
|
590
|
+
return f(p) && (N ? p = N.find(($) => p === $.code)?.name || p : p = this._getDisplayString(p, { useFieldFormatting: !0 })), d`<div class="section"><div class="title">${m.fieldSampleValue}</div><div class=${V(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>`;
|
|
590
591
|
}
|
|
591
592
|
renderFieldNumericFormat() {
|
|
592
593
|
const { _messages: e, props: t, hideNumericFormat: i } = this, { fieldName: n, fieldInfo: s, layer: a } = t;
|
|
@@ -595,28 +596,28 @@ class Fe extends J {
|
|
|
595
596
|
const m = this.originalLayerSupportsFieldConfigs() ? a.getFieldConfiguration(n) : void 0;
|
|
596
597
|
if (m?.fieldFormat) {
|
|
597
598
|
const { minimumFractionDigits: o, maximumFractionDigits: l } = m.fieldFormat;
|
|
598
|
-
return
|
|
599
|
+
return d`<div class="section"><div class="title">${e.fieldDecimalPlaces}</div><div>${e.fieldMinimumFractionDigits.replace("${number}", o.toString())}</div><div>${e.fieldMaximumFractionDigits.replace("${number}", l.toString())}</div></div>`;
|
|
599
600
|
}
|
|
600
|
-
const
|
|
601
|
-
if (
|
|
602
|
-
const o =
|
|
601
|
+
const c = "popupTemplate" in a ? a.popupTemplate : void 0;
|
|
602
|
+
if (c?.fieldInfos) {
|
|
603
|
+
const o = c.fieldInfos?.filter((l) => l.fieldName === n);
|
|
603
604
|
if (o?.length) {
|
|
604
605
|
const l = o[0];
|
|
605
606
|
if (f(l?.format?.places)) {
|
|
606
607
|
const u = l.format.places;
|
|
607
|
-
return
|
|
608
|
+
return d`<div class="section"><div class="title">${e.fieldDecimalPlaces}</div><div>${e.fieldNumDecimalPlaces.replace("${number}", u.toString())}</div></div>`;
|
|
608
609
|
}
|
|
609
610
|
}
|
|
610
611
|
}
|
|
611
|
-
return
|
|
612
|
+
return d`<div class="section"><div class="title">${e.fieldDecimalPlaces}</div><div class="missing">${e.fieldDecimalPlacesNotAvailable}</div></div>`;
|
|
612
613
|
}
|
|
613
614
|
renderFieldStatistics() {
|
|
614
615
|
const { statisticsStatus: e, uniqueValuesStatus: t, hideStatistics: i, _messages: n, props: s } = this, { layer: a, fieldInfo: m } = s;
|
|
615
|
-
return i ? (this.arcgisComplete.emit(), this.arcgisFieldInfoComplete.emit(), "") : E(a) || R(a) || F(a) || y(a) || S(a) || ["long"].includes(m.layerField.type) ? (this.arcgisComplete.emit(), this.arcgisFieldInfoComplete.emit(), "") :
|
|
616
|
+
return i ? (this.arcgisComplete.emit(), this.arcgisFieldInfoComplete.emit(), "") : E(a) || R(a) || F(a) || y(a) || S(a) || ["long"].includes(m.layerField.type) ? (this.arcgisComplete.emit(), this.arcgisFieldInfoComplete.emit(), "") : d`<div class="section"><div class="title">${n.fieldStatistics}</div>${!e || e === "missing" || e === "in-progress" ? b("field-info-statistics-content", d`<div class="missing">${n.fieldStatisticsRetrieving}</div>`) : e === "failed" && t !== "success" ? this.renderNoStatistics() : b("field-info-statistics-content", d`<div ${O(this._setCompleteRef)}>${this.renderStatistics()}</div>`)}</div>`;
|
|
616
617
|
}
|
|
617
618
|
renderNoStatistics() {
|
|
618
619
|
const { _messages: e } = this;
|
|
619
|
-
return b("field-info-statistics-content",
|
|
620
|
+
return b("field-info-statistics-content", d`<div class="missing" ${O(this._setCompleteRef)}>${e.fieldStatisticsNotAvailable}</div>`);
|
|
620
621
|
}
|
|
621
622
|
renderStatistics() {
|
|
622
623
|
const { props: e } = this, { fieldInfo: t } = e;
|
|
@@ -641,38 +642,38 @@ class Fe extends J {
|
|
|
641
642
|
if (!e)
|
|
642
643
|
return this.renderNoStatistics();
|
|
643
644
|
const { statistics: i } = t;
|
|
644
|
-
return
|
|
645
|
+
return d`<div><div class="statistics-row"><div>${i.numberOfValues}</div><div class="data">${this._printNumValue(e.totalCount)}</div></div>${f(e.sum) ? d`<div class="statistics-row"><div>${i.sumOfValues}</div><div class="data">${this._printNumValue(e.sum)}</div></div>` : null}${f(e.min) ? d`<div class="statistics-row"><div>${i.minimum}</div><div class="data">${this._printNumValue(e.min)}</div></div>` : null}${f(e.max) ? d`<div class="statistics-row"><div>${i.maximum}</div><div class="data">${this._printNumValue(e.max)}</div></div>` : null}${f(e.avg) ? d`<div class="statistics-row"><div>${i.average}</div><div class="data">${this._printNumValue(e.avg)}</div></div>` : null}${f(e.stddev) ? d`<div class="statistics-row"><div>${i.standardDeviation}</div><div class="data">${this._printNumValue(e.stddev)}</div></div>` : null}${this.renderNullValues()}</div>`;
|
|
645
646
|
}
|
|
646
647
|
renderStringStatistics() {
|
|
647
648
|
const { statistics: e, uniqueValuesStatus: t, _messages: i } = this, { statistics: n } = i;
|
|
648
|
-
return
|
|
649
|
+
return d`<div><div class="statistics-row"><div>${n.numberOfValues}</div>${t !== "success" ? d`<div class="missing">--</div>` : d`<div class="data">${this._printNumValue(e?.totalCount)}</div>`}</div>${this.renderNullValues()}${this.renderTopValues()}</div>`;
|
|
649
650
|
}
|
|
650
651
|
renderDateStatistics() {
|
|
651
652
|
const { statistics: e, view: t, props: i, _messages: n } = this, { fieldInfo: s } = i;
|
|
652
653
|
if (!e || !f(e.max) || !f(e.min))
|
|
653
654
|
return this.renderNoStatistics();
|
|
654
|
-
const { statistics: a } = n, m = e.max - e.min,
|
|
655
|
-
let o = Math.floor((m -
|
|
655
|
+
const { statistics: a } = n, m = e.max - e.min, c = Math.floor(m / 31536e6);
|
|
656
|
+
let o = Math.floor((m - c * 31536e6) / 2628e6), l = Math.ceil((m - o * 2628e6) / 864e5);
|
|
656
657
|
l >= 30 && (o += 1, l = 0);
|
|
657
|
-
let u =
|
|
658
|
-
u +=
|
|
658
|
+
let u = c === 1 ? a.timeSpanOptions.year : c > 1 ? a.timeSpanOptions.years.replace("${years}", c.toString()) : "";
|
|
659
|
+
u += c > 0 && (o > 0 || l > 0) ? ", " : "", u += o === 1 ? a.timeSpanOptions.month : o > 1 ? a.timeSpanOptions.months.replace("${months}", o.toString()) : "", u += o > 0 && l > 0 ? ", " : "", u += l === 1 ? a.timeSpanOptions.day : l > 1 ? a.timeSpanOptions.days.replace("${days}", l.toString()) : "";
|
|
659
660
|
const g = s.simpleFieldType !== "timestamp-offset" || !t || t.timeZone !== "unknown", p = s.simpleFieldType === "time-only";
|
|
660
|
-
return
|
|
661
|
+
return d`<div><div class="statistics-row"><div>${a.numberOfValues}</div><div class="data">${this._printNumValue(e?.totalCount)}</div></div>${g && f(e.min) ? d`<div class="statistics-row"><div>${p ? a.minimumTime : a.minimumDate}</div><div class="data">${this._getDisplayString(e.min)}</div></div>` : null}${g && f(e.max) ? d`<div class="statistics-row"><div>${p ? a.maximumTime : a.maximumDate}</div><div class="data">${this._getDisplayString(e.max)}</div></div>` : null}${g && f(e.avg) ? d`<div class="statistics-row"><div>${p ? a.averageTime : a.averageDate}</div><div class="data">${this._getDisplayString(e.avg)}</div></div>` : null}${g && !p && f(e.min) && f(e.max) && m > 0 ? d`<div class="statistics-row"><div>${a.timespan}</div><div class="data">${u}</div></div>` : null}${this.renderNullValues()}</div>`;
|
|
661
662
|
}
|
|
662
663
|
renderTopValues() {
|
|
663
664
|
const { uniqueValues: e, uniqueValuesStatus: t, _messages: i, props: n } = this, { fieldInfo: s } = n, { statistics: a } = i;
|
|
664
665
|
if (e?.uniqueValueInfos?.length) {
|
|
665
666
|
const m = e.uniqueValueInfos;
|
|
666
667
|
m.sort((l, u) => l.count < u.count ? 1 : l.count > u.count ? -1 : 0);
|
|
667
|
-
const
|
|
668
|
+
const c = s.codedValues, o = m.filter((l) => l.value !== null).filter((l, u) => l && u < 10).map((l) => {
|
|
668
669
|
let u = l.value;
|
|
669
|
-
return
|
|
670
|
+
return c ? c.forEach((g) => {
|
|
670
671
|
u === g.code && (u = g.name);
|
|
671
|
-
}) : u = this._getDisplayString(u),
|
|
672
|
+
}) : u = this._getDisplayString(u), d`<div class="statistics-row"><div class="data">${`${u}`}</div><div class="count">${this._printNumValue(l.count)}</div></div>`;
|
|
672
673
|
});
|
|
673
|
-
return o.length ?
|
|
674
|
+
return o.length ? d`<div><div class="statistics-row-top-values"><div>${m.length > 10 ? a.topTenValues : a.topValues}</div><div>${a.count}</div></div>${o}</div>` : "";
|
|
674
675
|
} else
|
|
675
|
-
return
|
|
676
|
+
return d`<div><div class="statistics-row-top-values"><div>${a.topValues}</div><div>${a.count}</div></div><div class="statistics-row"><div class="missing">${t === "failed" ? i.fieldUniqueValuesNotAvailable : i.fieldSampleRetrieving}</div></div></div>`;
|
|
676
677
|
}
|
|
677
678
|
renderNullValues() {
|
|
678
679
|
const { statistics: e, uniqueValues: t, _messages: i } = this, { statistics: n } = i;
|
|
@@ -680,14 +681,14 @@ class Fe extends J {
|
|
|
680
681
|
if (!f(s) && t) {
|
|
681
682
|
const a = t.uniqueValueInfos;
|
|
682
683
|
for (let m = 0; m < a.length; m++) {
|
|
683
|
-
const
|
|
684
|
-
if (
|
|
685
|
-
s =
|
|
684
|
+
const c = a[m];
|
|
685
|
+
if (c.value === null) {
|
|
686
|
+
s = c.count;
|
|
686
687
|
break;
|
|
687
688
|
}
|
|
688
689
|
}
|
|
689
690
|
}
|
|
690
|
-
return
|
|
691
|
+
return d`<div class="statistics-row"><div>${n.numberOfNulls}</div>${f(s) ? d`<div class="data">${this._printNumValue(s)}</div>` : d`<div class="missing">--</div>`}</div>`;
|
|
691
692
|
}
|
|
692
693
|
}
|
|
693
694
|
Q("arcgis-field-info", Fe);
|