@arcgis/core 6.0.0-next.22 → 6.0.0-next.23
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/PopupTemplate.js +1 -1
- package/analysis/LineOfSightAnalysis.d.ts +1 -1
- package/analysis/LineOfSightAnalysisObserver.d.ts +5 -4
- package/analysis/LineOfSightAnalysisTarget.d.ts +4 -4
- package/analysis/Viewshed.d.ts +4 -4
- package/arcgisGlobal.d.ts +0 -5
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{3c277a0f099d67090d07.js → 02335385b1476fe322eb.js} +1 -1
- package/assets/esri/core/workers/chunks/{4911ce62421a6c3320b0.js → 13c64087be3b2985a21b.js} +1 -1
- package/assets/esri/core/workers/chunks/{8e19629899a5becf8e19.js → 150e7a7bd5df25693da7.js} +1 -1
- package/assets/esri/core/workers/chunks/2c0cb214fedb29487eef.js +1 -0
- package/assets/esri/core/workers/chunks/{2e096537a3a5555a4a93.js → 4cb751dc8d00bdaeb04c.js} +1 -1
- package/assets/esri/core/workers/chunks/517106048980a3cbe072.js +1 -0
- package/assets/esri/core/workers/chunks/{d08ff41e2a9bcd58b64a.js → 636cd05abfbdff19029e.js} +1 -1
- package/assets/esri/core/workers/chunks/{84940d8e14caf5a27e04.js → 64b360625c68cb863a08.js} +1 -1
- package/assets/esri/core/workers/chunks/{814751e705c05099f864.js → 7c75a8ee266c36baa902.js} +1 -1
- package/assets/esri/core/workers/chunks/947674b2ca8be65b9bcc.js +1 -0
- package/assets/esri/core/workers/chunks/{baed828b7846c0863289.js → 96c4ea9cfa3930f1c3fb.js} +21 -17
- package/assets/esri/core/workers/chunks/{8a485130781b49dbf608.js → 9d40786c5ceface786ba.js} +1 -1
- package/assets/esri/core/workers/chunks/{a35c69a4751d28c39907.js → 9e7c4eda135c4911b268.js} +1 -1
- package/assets/esri/core/workers/chunks/ad96132bc89671e595f3.js +1 -0
- package/assets/esri/themes/base/_core.scss +0 -2
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/chunks/Component.glsl.js +9 -12
- package/chunks/DefaultMaterial.glsl.js +4 -5
- package/chunks/Path.glsl.js +2 -4
- package/chunks/RealisticTree.glsl.js +3 -3
- package/chunks/SSAO.glsl.js +1 -2
- package/config.js +1 -1
- package/geometry/support/clipRay.js +1 -1
- package/geometry/support/plane.js +1 -1
- package/interfaces.d.ts +0 -55
- package/kernel.js +1 -1
- package/layers/ElevationLayer.d.ts +6 -2
- package/layers/GeoJSONLayer.d.ts +2 -107
- package/layers/IntegratedMeshLayer.js +1 -1
- package/layers/SceneLayer.d.ts +40 -16
- package/layers/ViewshedLayer.d.ts +10 -4
- package/layers/WMSLayer.d.ts +2 -69
- package/layers/mixins/TemporalLayer.d.ts +70 -48
- package/layers/mixins/TiledImagery.d.ts +0 -11
- package/package.json +2 -2
- package/popup/content.d.ts +38 -1
- package/popup/content.js +1 -1
- package/smartMapping/popup/support/clusterUtils.js +1 -1
- package/smartMapping/popup/support/utils.js +2 -2
- package/smartMapping/renderers/size.js +1 -1
- package/smartMapping/renderers/support/regenerateUtils.js +1 -1
- package/support/timeUtils.d.ts +11 -0
- package/views/2d/engine/webgl/GlyphWorker.js +1 -1
- package/views/2d/layers/features/Processor.js +1 -1
- package/views/2d/layers/features/aggregation/GeohashSpatialIndex.js +1 -1
- package/views/2d/layers/features/aggregation/GridSpatialIndex.js +1 -1
- package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
- package/views/2d/layers/features/processor/AggregateStrategy.js +1 -1
- package/views/2d/layers/features/processor/FeatureUpdateStrategy.js +1 -1
- package/views/2d/layers/features/processor/bins/BinAdapter.js +1 -1
- package/views/2d/layers/features/processor/bins/BinLevelState.js +1 -1
- package/views/2d/layers/features/processor/clusters/ClusterAdapter.js +1 -1
- package/views/2d/layers/features/processor/clusters/ClusterLevelState.js +1 -1
- package/views/2d/layers/features/processor/tracks/TrackAdapter.js +1 -1
- package/views/2d/layers/features/processor/tracks/TrackLevelState.js +1 -1
- package/views/2d/layers/features/schema/processor/SimpleProcessorSchema.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/ASourceChunk.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/ByReferenceTileSourceChunk.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/FeatureSnapshotSourceChunk.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/Overrides.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/ParquetSnapshotSourceChunk.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/StreamSourceChunk.js +1 -1
- package/views/2d/layers/features/support/AttributeStore.js +1 -1
- package/views/2d/layers/features/support/FeatureFilterEvaluator.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
- package/views/2d/layers/features/support/GraphicsReader.js +1 -1
- package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
- package/views/3d/environment/SunLighting.d.ts +0 -1
- package/views/3d/environment/SunLighting.js +1 -1
- package/views/3d/environment/VirtualLighting.d.ts +0 -1
- package/views/3d/environment/VirtualLighting.js +1 -1
- package/views/3d/input/handlers/ground/GroundDoubleClickMove.js +1 -1
- package/views/3d/interactive/placementTools/GroundNavigationPlacementTool3D.js +1 -1
- package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
- package/views/3d/state/utils/groundNavigationUtils.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +1 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js +1 -2
- package/views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js +9 -4
- package/views/3d/webgl-engine/effects/snowcover/applySnow.glsl.js +18 -0
- package/views/3d/webgl-engine/lib/Intersector.js +1 -1
- package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/internal/worldSizedRibbonLineIntersectionUtils.js +2 -0
- package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
- package/views/layers/LineOfSightLayerView.d.ts +2 -2
- package/views/layers/ViewshedLayerView.d.ts +2 -1
- package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
- package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
- package/widgets/Locate.d.ts +1 -1
- package/widgets/Search/SearchViewModel.js +1 -1
- package/widgets/Search/support/layerSearchUtils.js +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/Sketch/support/PluginManager.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
- package/widgets/support/GeolocationPositioning.d.ts +1 -2
- package/assets/esri/core/workers/chunks/42045cf46497828cd3c0.js +0 -1
- package/assets/esri/core/workers/chunks/576248e9ae2654569420.js +0 -1
- package/assets/esri/core/workers/chunks/6059853ef3b6cddbe869.js +0 -1
- package/assets/esri/core/workers/chunks/a679207c3458cc0b1fec.js +0 -1
- package/assets/esri/themes/base/widgets/_DirectionalPad.scss +0 -85
- package/assets/esri/widgets/DirectionalPad/t9n/messages.ar.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.bg.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.bs.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.ca.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.cs.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.da.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.de.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.el.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.en.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.es.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.et.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.fi.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.fr.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.he.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.hr.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.hu.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.id.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.it.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.ja.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.ko.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.lt.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.lv.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.nl.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.no.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.pl.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.pt-BR.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.pt-PT.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.ro.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.ru.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.sk.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.sl.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.sr.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.sv.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.th.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.tr.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.uk.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.vi.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.zh-CN.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.zh-HK.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/messages.zh-TW.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.ar.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.bg.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.bs.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.ca.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.cs.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.da.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.de.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.el.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.en.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.es.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.et.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.fi.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.fr.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.he.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.hr.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.hu.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.id.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.it.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.ja.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.ko.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.lt.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.lv.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.nl.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.no.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.pl.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.pt-BR.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.pt-PT.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.ro.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.ru.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.sk.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.sl.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.sr.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.sv.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.th.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.tr.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.uk.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.vi.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.zh-CN.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.zh-HK.json +0 -1
- package/assets/esri/widgets/Track/t9n/messages.zh-TW.json +0 -1
- package/views/2d/layers/features/FeatureSpatialIndex.js +0 -2
- package/views/2d/layers/features/support/FeatureSetReaderIndirect.js +0 -2
- package/views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js +0 -12
- package/widgets/DirectionalPad/DirectionalPadViewModel.d.ts +0 -85
- package/widgets/DirectionalPad/DirectionalPadViewModel.js +0 -2
- package/widgets/DirectionalPad/VisibleElements.d.ts +0 -40
- package/widgets/DirectionalPad/VisibleElements.js +0 -2
- package/widgets/DirectionalPad/constants.js +0 -2
- package/widgets/DirectionalPad/css.js +0 -2
- package/widgets/DirectionalPad/types.d.ts +0 -27
- package/widgets/DirectionalPad/utils.js +0 -2
- package/widgets/DirectionalPad.d.ts +0 -156
- package/widgets/DirectionalPad.js +0 -2
- package/widgets/Track/TrackViewModel.d.ts +0 -131
- package/widgets/Track/TrackViewModel.js +0 -2
- package/widgets/Track/types.d.ts +0 -6
- package/widgets/Track.d.ts +0 -278
- package/widgets/Track.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{substitute as e}from"../../../intl/substitute.js";import{numericTypes as t}from"../../../layers/support/fieldUtils.js";import
|
|
2
|
+
import{substitute as e}from"../../../intl/substitute.js";import{numericTypes as t}from"../../../layers/support/fieldUtils.js";import n from"../../../popup/ExpressionInfo.js";import r from"../../../popup/FieldInfo.js";import i from"../../../popup/content/TextContent.js";import a from"../../../popup/support/FieldInfoFormat.js";import{getFieldAndExpressionInfos as o,getContentFromFieldInfos as s}from"./utils.js";import{getStatisticInfos as c,getClusterField as l,getPredominantTypeExpression as u,clusterCountField as d}from"../../support/clusterUtils.js";import{isClusterCompatibleRenderer as f}from"../../../views/2d/layers/support/clusterUtils.js";function p(e){let{fieldName:n,label:i,type:o}=e,s=o!=null&&t.includes(o),c=new r({fieldName:n,label:i,visible:!0,format:s?new a({places:o===`integer`||o===`small-integer`?0:2,digitSeparator:!0}):void 0});return o===`date`&&(c.format=new a({dateFormat:`short-date-short-time`})),c}function m(e,t){let n=e?t.getField(e):null;return n==null?void 0:n.alias||n.name}function h(t,n,r){let{attributeInfo:i,statisticType:a}=n,{field:o,normalizationField:s}=i,c=``,l;if(a===`avg`?l=s?r.clusters.avgNormFieldLabel:r.clusters.avgFieldLabel:a===`type`&&(l=r.clusters.predominantFieldLabel),l){let n=i.valueExpression?i.valueExpressionTitle:m(o,t),r=s&&m(s,t);c=e(l,{fieldLabel:n||``,normFieldLabel:r||``})}return c}function g(t,n,r,i){let{attributeInfo:a,statisticType:o}=n,{field:s,normalizationField:c}=a,l=``,u;if(o===`avg`?u=c?i.clusters.avgNormFieldSummary:i.clusters.avgFieldSummary:o===`type`&&(u=i.clusters.predominantFieldSummary),u){let n=a.valueExpression?a.valueExpressionTitle:m(s,t),i=c&&m(c,t);l=e(u,{fieldLabel:n||``,normFieldLabel:i||``,fieldValue:`{`+r+`}`})}return l}function _(t){return{fieldInfo:p({fieldName:d,label:t.clusters.numFeatures,type:`integer`}),fieldSummary:new i({text:e(t.clusters.countSummary,{count:`{${d}}`})})}}async function v(e,t,r){if(!f(t))return null;let a=c(e,t),o=r.clusters.predominantNoneValue,s=t.type===`unique-value`?t.uniqueValueInfos??[]:[],{fieldInfo:d,fieldSummary:m}=_(r),v=[m],y=[d],b=[];for(let t of a){let{statisticType:a,attributeInfo:c}=t,d=l(c,a),f=h(e,t,r);if(a===`avg`)v.push(new i({text:g(e,t,d,r)})),y.push(p({fieldName:d,label:f,type:`double`}));else if(a===`type`){let a=`expression/${d}`;v.push(new i({text:g(e,t,a,r)})),b.push(new n({name:d,title:f,returnType:`string`,expression:u(s,d,o)})),y.push(p({fieldName:a}))}}return{fieldInfos:y,expressionInfos:b,content:v}}async function y(e,t,n){if(!f(t))return null;let{fieldInfo:r,fieldSummary:i}=_(n),a=[i],c=[r],l=[],{fieldInfos:u,expressionInfos:d}=await o({renderer:t,layer:e,isFeatureReduction:!0}),p=await s(e,{fieldInfos:u,expressionInfos:d},!0);return a.push(...p),c.push(...u),l.push(...d),{fieldInfos:c,expressionInfos:l,content:a}}export{v as getContentAndInfos,y as getContentAndInfosForPieChart};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{unique as e}from"../../../core/arrayUtils.js";import"../../../core/has.js";import{fetchMessageBundle as t}from"../../../intl/messages.js";import{substitute as n}from"../../../intl/substitute.js";import{numericTypes as r}from"../../../layers/support/fieldUtils.js";import
|
|
2
|
+
import{unique as e}from"../../../core/arrayUtils.js";import"../../../core/has.js";import{fetchMessageBundle as t}from"../../../intl/messages.js";import{substitute as n}from"../../../intl/substitute.js";import{numericTypes as r}from"../../../layers/support/fieldUtils.js";import i from"../../../popup/ExpressionInfo.js";import a from"../../../popup/FieldInfo.js";import o from"../../../popup/content/FieldsContent.js";import s from"../../../popup/content/TextContent.js";import c from"../../../popup/support/FieldInfoFormat.js";import{getAttributes as l}from"../../../renderers/support/utils.js";import{viewScaleRE as u}from"../../../renderers/visualVariables/support/visualVariableUtils.js";import{getFeatureReductionFields as d}from"../../support/adapters/support/utils.js";let f=0;function p(e=0){}const m=`expression/`;function h(e){return!(`hasVisualVariables`in e)||!e.hasVisualVariables()?[]:e.visualVariables.filter(e=>!(u.test(e.valueExpression)||`target`in e&&e.target===`outline`))}function g(e,t){return t?d(e)?.find(e=>e.name.toLowerCase()===t.toLowerCase()):null}function _(e,t,n){let i=null;if(n&&`featureReduction`in e){let t=e.featureReduction;t&&`popupTemplate`in t&&t.popupTemplate&&(i=t.popupTemplate.fieldInfos)}else`popupTemplate`in e&&e.popupTemplate&&(i=e.popupTemplate.fieldInfos);let o=n?g(e,t):e.getField(t),s=null;if(i&&i.some(e=>e&&e.fieldName?.toLowerCase()===o?.name.toLowerCase()?(s=e.clone(),!0):!1),!s){let e=r.includes(o.type),t=o.type===`integer`||o.type===`small-integer`;s=new a({fieldName:o.name,isEditable:o.editable,visible:!0,format:e?new c({places:t?0:2,digitSeparator:!0}):void 0})}return s.label||(s.label=o.alias),s}function v(e){let{expression:t,title:n,returnType:r}=e;return new i({name:`expr${f++}`,expression:t,title:n,returnType:r})}function y(e){let t=e.returnType===`number`?new c({places:2,digitSeparator:!0}):void 0;return new a({fieldName:`${m}${e.name}`,visible:!0,format:t})}async function b(r){let i=await t(`esri/smartMapping/t9n/smartMapping`),{renderer:a,layer:o,normFieldExpressionTemplate:s,isFeatureReduction:c}=r,u=[],d=[],f=l(a,h);for(let e of f)if(e.type===`field`)u.push(_(o,e.field,c));else if(e.type===`normalized-field`){let t=c?g(o,e.field):o.getField(e.field),r=c?g(o,e.normalizationField):o.getField(e.normalizationField),a=v({expression:`
|
|
3
3
|
$feature["${t.name}"];
|
|
4
4
|
$feature["${r.name}"];
|
|
5
5
|
${s===`percentage`?`($feature["${t.name}"] / $feature["${r.name}"]) * 100;`:`$feature["${t.name}"] / $feature["${r.name}"];`}
|
|
6
|
-
`,title:n(s===`percentage`?i.normFieldLabelAsPercent:i.normFieldLabel,{expression1:t.alias,expression2:r.alias}),returnType:`number`});u.push(y(a),_(o,e.field,c),_(o,e.normalizationField,c)),d.push(a)}else if(e.type===`expression`){let t=v(e);u.push(y(t)),d.push(t)}return{fieldInfos:e(u,(e,t)=>e.fieldName===t.fieldName),expressionInfos:e(d,(e,t)=>e.expression===t.expression)}}async function x(e,r,
|
|
6
|
+
`,title:n(s===`percentage`?i.normFieldLabelAsPercent:i.normFieldLabel,{expression1:t.alias,expression2:r.alias}),returnType:`number`});u.push(y(a),_(o,e.field,c),_(o,e.normalizationField,c)),d.push(a)}else if(e.type===`expression`){let t=v(e);u.push(y(t)),d.push(t)}return{fieldInfos:e(u,(e,t)=>e.fieldName===t.fieldName),expressionInfos:e(d,(e,t)=>e.expression===t.expression)}}async function x(e,r,i){let{fieldInfos:a,expressionInfos:c}=r,l=await t(`esri/smartMapping/t9n/smartMapping`);if(a.length>2)return[new o({fieldInfos:a})];let u=[];for(let t of a){let r=t.fieldName||``,a=t.label;if(!a){let t=i?g(e,r):e.getField(r);if(t)a=t.alias||r;else if(c){let e=r.split(m)[1],t=c[c.findIndex(t=>t.name===e)];t&&(a=t.title||t.name)}}u.push(new s({text:n(l.fieldInfo,{fieldLabel:a,fieldValue:`{${r}}`})}))}return u}function S(e){return`normalizationField`in e&&e.normalizationField?!0:`hasVisualVariables`in e&&e.hasVisualVariables()&&e.visualVariables.some(e=>!!(`normalizationField`in e&&e.normalizationField))}export{m as expressionFieldPrefix,x as getContentFromFieldInfos,v as getExpressionInfo,b as getFieldAndExpressionInfos,_ as getFieldInfo,y as getFieldInfoFromExpressionInfo,h as getPrimaryVisualVariables,S as hasNormalizedField,p as resetSuffixForTests};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{createUniqueColors as e}from"../../core/colorUtils.js";import t from"../../core/Error.js";import{toPt as n}from"../../core/screenUtils.js";import{ensureClass as r}from"../../core/accessorSupport/ensureType.js";import{fetchMessageBundle as i}from"../../intl/messages.js";import a from"../../renderers/ClassBreaksRenderer.js";import o from"../../renderers/support/AuthoringInfo.js";import s from"../../renderers/support/AuthoringInfoSizeStop.js";import c from"../../renderers/support/AuthoringInfoVisualVariable.js";import{setLabelsForClassBreaks as l}from"../../renderers/support/utils.js";import u from"../../renderers/visualVariables/SizeVariable.js";import{castSizeFromStringOrNumber as d}from"../../renderers/visualVariables/support/castSizeVariable.js";import f from"../../renderers/visualVariables/support/SizeStop.js";import p from"../../renderers/visualVariables/support/SizeVariableLegendOptions.js";import m from"../heuristics/ageUnit.js";import h from"../heuristics/outline.js";import g from"../heuristics/referenceSize.js";import _ from"../heuristics/sizeRange.js";import{getTypeSchemeData as v}from"./type.js";import{createPrimitiveOverrides as y,updateReferenceSizeSymbol as b,createReferenceSizeSymbol as x}from"./support/referenceSizeUtils.js";import{spliceVisualVariables as S,updateAuthoringInfoVisualVariable as C,getAuthoringInfoVisualVariable as w,isSizeVV as T,processRegenerateParams as E,getRendererToUpdate as D,getStyleType as O,hasOutlineVV as k,hasScaleDependentSizeVV as A,findSizeVVIndex as j,findOutlineVVIndex as M}from"./support/regenerateUtils.js";import{createPrimitiveOverrides as ee,updateSpikeSymbol as te,createSpikeSymbol as N,defaultSpikeSymbolStyle as P}from"./support/spikeUtils.js";import{resolveDataSeriesInfo as F}from"./support/timeSeriesUtils.js";import{errorCallback as I,getTitleAndExpressionForAgeRenderer as ne,updateAgeRendererAuthoringInfoVV as re,getClassBreaks as ie,getSummaryStatistics as ae,createSymbol as L,getSymbolOutlineFromScheme as R,getSymbolSizeFromScheme as z,verifyBasicFieldValidity as B,getSizeRangeForAxis as oe,getDataRange as se,getBasemapInfo as ce}from"./support/utils.js";import le from"../statistics/summaryStatisticsForTimeSeries.js";import{verifyDates as ue,supportedAgeUnits as de}from"../statistics/support/ageUtils.js";import{verifyBinningParams as V}from"../support/binningUtils.js";import{getNormalizationType as fe,getFieldsList as H,isAnyDateField as pe}from"../support/utils.js";import{createLayerAdapter as U,featureCapableLayerTypes as W,getLayerTypeLabels as G,binningCapableLayerTypes as K}from"../support/adapters/support/layerUtils.js";import{cloneScheme as q,getSchemes as me}from"../symbology/size.js";import{getColorFromSymbol as J}from"../../symbols/support/utils.js";const he=2**53-1,ge=[5,112.5];async function _e(e,n){let r=F({...e});if(!(r&&r.layer&&(r.field||r.valueExpression||r.sqlExpression)))throw new t(`size-visual-variable:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(r.valueExpression&&!r.sqlExpression&&!r.view)throw new t(`size-visual-variable:missing-parameters`,`View is required when 'valueExpression' is specified`);if(r.theme===`reference-size`&&!(r.view||r.field))throw new t(`size-visual-variable:missing-parameters`,`'view' and 'field' are required when 'theme' is 'reference-size'`);if(r.theme===`reference-size`&&r.valueExpression)throw new t(`size-visual-variable:missing-parameters`,`'valueExpression' is not supported when 'theme' is 'reference-size'`);r.forBinning&&V(r,`size-visual-variable`);let i={...r},a=r.forBinning?K:W,o=U(i.layer,a,r.forBinning);if(!o)throw new t(`size-visual-variable:invalid-parameters`,`'layer' must be one of these types: `+G(a).join(`, `));i.axis===`height`&&(i.sizeOptimizationEnabled=!1);let s=i.signal==null?null:{signal:i.signal};await o.load(s);let c=o.geometryType;if(c===`mesh`)throw new t(`size-visual-variable:invalid-parameters`,`Size visualization is not applicable to layers with 'mesh' geometry type`);if(i.worldScale){if(c===`polyline`||c===`polygon`)throw new t(`size-visual-variable:not-supported`,`'worldScale' sizing is not supported for polyline and polygon layers`);if(i.view?.type!==`3d`)throw new t(`size-visual-variable:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'worldScale' parameter is true`)}if(i.theme===`reference-size`&&!r.forBinning&&c!==`polygon`)throw new t(`size-visual-variable:invalid-parameters`,`Reference size is only supported for polygon layers`);if(i.theme===`spike`&&!r.forBinning&&c!==`polygon`&&c!==`point`)throw new t(`size-visual-variable:invalid-parameters`,`Spike is only supported for point and polygon layers`);let l=await H({field:i.field,normalizationField:i.normalizationField,valueExpression:i.valueExpression}),u=B(o,l,`size-visual-variable:invalid-parameters`);if(u)throw u;i.theme===`spike`&&!i.spikeOptions?.symbolStyle&&(i.spikeOptions??={},i.spikeOptions.symbolStyle=P);let d={...i,layer:o,referenceSizeResult:n};return await ye(d),d}async function ve(e){let n=F({...e});if(!(n&&n.layer&&(n.field||n.valueExpression||n.sqlExpression)))throw new t(`size-continuous-renderer:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(n.valueExpression&&!n.sqlExpression&&!n.view)throw new t(`size-continuous-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&V(n,`size-continuous-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0;let i=n.forBinning?K:W,a=U(r.layer,i,n.forBinning);if(!a)throw new t(`size-continuous-renderer:invalid-parameters`,`'layer' must be one of these types: `+G(i).join(`, `));let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType,c=r.symbolType.includes(`3d`);if(r.outlineOptimizationEnabled=r.theme!==`reference-size`&&r.theme!==`spike`&&s===`polygon`&&r.outlineOptimizationEnabled,s===`mesh`)throw new t(`size-continuous-renderer:invalid-parameters`,`Size visualization is not applicable to layers with 'mesh' geometry type`);if(c&&(s===`polyline`||s===`polygon`))throw new t(`size-continuous-renderer:not-supported`,`3d symbols are not supported for polyline and polygon layers`);if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`size-continuous-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform`);if(r.theme===`reference-size`&&!n.forBinning&&s!==`polygon`)throw new t(`size-continuous-renderer:invalid-parameters`,`Reference size is only supported for polygon layers`);if(r.theme===`spike`&&!n.forBinning&&s!==`polygon`&&s!==`point`)throw new t(`size-continuous-renderer:invalid-parameters`,`Spike is only supported for point and polygon layers`);let l=await H({field:r.field,normalizationField:r.normalizationField,valueExpression:r.valueExpression}),u=B(a,l,`size-continuous-renderer:invalid-parameters`);if(u)throw u;r.theme===`spike`&&!r.spikeOptions?.symbolStyle&&(r.spikeOptions??={},r.spikeOptions.symbolStyle=P);let d={...r,layer:a};return await ye(d),d}async function ye(e){let t=e.layer,n=t.geometryType,r=t.layer,i=e.forBinning&&`featureReduction`in r&&r.featureReduction?.type===`binning`;if((n===`polygon`||i)&&e.view&&e.field&&!e.valueExpression&&(!e.theme||e.theme===`reference-size`)){try{e.referenceSizeResult=e.referenceSizeResult??await g({layer:r,view:e.view,filter:e.filter,forBinning:e.forBinning,signal:e.signal})}catch{}!e.theme&&e.referenceSizeResult?.isGrid&&(e.theme=`reference-size`),e.referenceSizeOptions?.symbolStyle||(e.referenceSizeOptions?e.referenceSizeOptions.symbolStyle=`circle`:e.referenceSizeOptions={symbolStyle:`circle`})}}async function be(e){if(!e||!(e.layer&&e.view&&e.sizeStops))throw new t(`update-renderer-with-reference-size:missing-parameters`,`'layer', 'view and 'sizeStops' parameters are required`);let{view:n,forBinning:r}=e,i=e.forBinning?K:W,a=U(e.layer,i,e.forBinning);if(!a)throw new t(`update-renderer-with-reference-size:invalid-parameters`,`'layer' must be one of these types: `+G(i).join(`, `));let o=a.layer,s=e.renderer;if(!s){if(e.forBinning){if(!(`featureReduction`in o&&o.featureReduction&&`renderer`in o.featureReduction&&o.featureReduction.renderer&&(o.featureReduction.renderer.type===`class-breaks`||o.featureReduction.renderer.type===`unique-value`)))throw new t(`update-renderer-with-reference-size:invalid-parameters`,`Feature reduction renderer is not supported`);s=o.featureReduction.renderer}else{if(!(`renderer`in o&&o.renderer&&(o.renderer.type===`class-breaks`||o.renderer.type===`unique-value`)))throw new t(`update-renderer-with-reference-size:invalid-parameters`,`Renderer is not supported`);s=o.renderer}}let c=s.authoringInfo;if(!c||!c?.visualVariables?.some(e=>e.theme===`reference-size`))throw new t(`update-renderer-with-reference-size:invalid-parameters`,`'renderer.authoringInfo.visualVariables' should have an authoringInfoVisualVariable with 'theme' set to 'reference-size'`);let l=e.isGrid??(await g({view:n,layer:o,forBinning:r}))?.isGrid;return{...e,isGrid:l,renderer:s,layer:a}}async function xe(e){if(!e||!(e.layer&&e.sizeStops))throw new t(`update-renderer-with-spike:missing-parameters`,`'layer' and 'sizeStops' parameters are required`);let n=e.forBinning?K:W,r=U(e.layer,n,e.forBinning);if(!r)throw new t(`update-renderer-with-spike:invalid-parameters`,`'layer' must be one of these types: `+G(n).join(`, `));await r.load();let i=r.layer,a=e.renderer;if(!a){if(e.forBinning){if(!(`featureReduction`in i&&i.featureReduction&&`renderer`in i.featureReduction&&i.featureReduction.renderer&&(i.featureReduction.renderer.type===`class-breaks`||i.featureReduction.renderer.type===`unique-value`)))throw new t(`update-renderer-with-spike:invalid-parameters`,`Feature reduction renderer is not supported`);a=i.featureReduction.renderer}else{if(!(`renderer`in i&&i.renderer&&(i.renderer.type===`class-breaks`||i.renderer.type===`unique-value`)))throw new t(`update-renderer-with-spike:invalid-parameters`,`Renderer is not supported`);a=i.renderer}}let o=a.authoringInfo?.visualVariables.find(e=>e.theme===`spike`);if(!o)throw new t(`update-renderer-with-spike:invalid-parameters`,`'renderer.authoringInfo.visualVariables' should have an authoringInfoVisualVariable with 'theme' set to 'spike'`);let s=e.spikeOptions??{};return s.symbolStyle??=o?.spikeSymbolStyle?void 0:P,{...e,renderer:a,layer:r,spikeOptions:s}}async function Se(e){let n=F({...e});if(!(n&&n.layer&&(n.field||n.valueExpression)))throw new t(`size-class-breaks-renderer:missing-parameters`,`'layer' and 'field' or 'valueExpression' parameters are required`);if(n.valueExpression&&!n.view)throw new t(`size-class-breaks-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&V(n,`size-class-breaks-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0,r.classificationMethod??=`equal-interval`,r.normalizationType=fe(r);let i=n.forBinning?K:W,a=U(r.layer,i,n.forBinning);if(!a)throw new t(`size-class-breaks-renderer:invalid-parameters`,`'layer' must be one of these types: `+G(i).join(`, `));if((r.minValue==null||r.maxValue==null)&&(r.minValue!=null||r.maxValue!=null))throw new t(`size-class-breaks-renderer:missing-parameters`,`Both 'minValue' and 'maxValue' are required when specifying custom data range`);let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType,c=r.symbolType.includes(`3d`);if(r.outlineOptimizationEnabled=s===`polygon`&&r.outlineOptimizationEnabled,s===`mesh`)throw new t(`size-class-breaks-renderer:invalid-parameters`,`Size visualization is not applicable to layers with 'mesh' geometry type`);if(c&&(s===`polyline`||s===`polygon`))throw new t(`size-class-breaks-renderer:not-supported`,`3d symbols are not supported for polyline and polygon layers`);if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`size-class-breaks-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform`);let l=await H({field:r.field,normalizationField:r.normalizationField}),u=B(a,l,`size-class-breaks-renderer:invalid-parameters`);if(u)throw u;return{...r,layer:a}}function Ce(e){let t={...e};delete t.basemap,delete t.sizeScheme,delete t.legendOptions,delete t.symbolType,delete t.defaultSymbolEnabled;let n=t;return n.analyzeData=t.minValue==null||t.maxValue==null,n}function Y(e){let t={...e},n=!!t.symbolType?.includes(`3d-volumetric`),r=t;return r.worldScale=n,n&&(r.axis=t.symbolType===`3d-volumetric-uniform`?`all`:`height`),delete t.symbolType,delete t.defaultSymbolEnabled,r}async function we(e){if(!(e&&e.layer&&e.view&&e.startTime&&e.endTime))throw new t(`size-age-renderer:missing-parameters`,`'layer', 'view', 'startTime', 'endTime' parameters are required`);let n={...e};n.symbolType??=`2d`,n.defaultSymbolEnabled??=!0;let r=U(n.layer,W);if(!r)throw new t(`size-age-renderer:invalid-parameters`,`'layer' must be one of these types: `+G(W).join(`, `));let i=n.signal==null?null:{signal:n.signal};await r.load(i);let a=r.geometryType,o=n.symbolType.includes(`3d`);if(n.outlineOptimizationEnabled=a===`polygon`&&n.outlineOptimizationEnabled,a===`mesh`)throw new t(`size-age-renderer:invalid-parameters`,`Size visualization is not applicable to layers with 'mesh' geometry type`);if(o&&(a===`polyline`||a===`polygon`))throw new t(`size-age-renderer:not-supported`,`3d symbols are not supported for polyline and polygon layers`);if(n.symbolType.includes(`3d-volumetric`)&&!(n.view&&n.view.type===`3d`))throw new t(`size-age-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform`);let s=ue(r,n.startTime,n.endTime,`size-age-renderer:invalid-parameters`);if(s)throw s;if(n.unit&&!de.includes(n.unit))throw new t(`size-age-renderer:invalid-unit`,`Supported units are: ${de.join(`, `)}`);return{...n,layer:r}}async function Te(e){let n=`regenerate-size-visual-variables`;E(e,n);let r=await D(e),i=O(r);if(!i||![`size-continuous`,`univariate-color-size`,`color-size`,`relationship-size`,`type-size`].includes(i))throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let a=w(r,`size`);if(!a)throw new t(`${n}:invalid-parameters`,`Renderer does not have a size visual variable authoringInfo`);let o=a.theme,s=o===`reference-size`,c=o===`spike`,l=r.visualVariables?.find(T);if(!l&&!s&&!c)throw new t(`${n}:invalid-parameters`,`Renderer does not have a size visual variable`);let u=a.field,d=a.normalizationField,f=null,p=null;u||(l?.field?(u=l.field,d=l.normalizationField):r.field?(u=r.field,d=r.normalizationField):(f=l?.valueExpression??r.valueExpression,p=l?.valueExpressionTitle??r.valueExpressionTitle));let{layer:m,forBinning:h,filter:g,view:_,signal:v}=e,y=a.dataSeriesName,b=a.dataSeriesCalculationName,x=A(r),S=await _e({layer:m,field:u,valueExpression:f,valueExpressionTitle:p,normalizationField:d,theme:o,sizeOptimizationEnabled:x,forBinning:h,dataSeriesName:y,dataSeriesCalculationName:b,filter:g,view:_,signal:v},e.referenceSizeResult);return o===`reference-size`&&a.referenceSizeScale!=null&&S.referenceSizeResult&&!S.referenceSizeResult.isGrid&&!S.sizeOptimizationEnabled&&(S.sizeOptimizationEnabled=!0),{...e,creatorParameters:S,renderer:r}}async function Ee(e){let n=`regenerate-size-continuous-renderer`;E(e,n);let r=await D(e),i=O(r);if(!i||![`size-continuous`,`univariate-color-size`].includes(i))throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:a,field:o,normalizationField:s,valueExpression:c,valueExpressionTitle:l}=r,u=a?.visualVariables.find(e=>e.type===`size`),d=u.theme,{layer:f,forBinning:p,filter:m,view:h,signal:g}=e,_=u.dataSeriesName,v=u.dataSeriesCalculationName,y=await ve({layer:f,field:o,valueExpression:c,valueExpressionTitle:l,normalizationField:s,theme:d,outlineOptimizationEnabled:k(r),sizeOptimizationEnabled:A(r),forBinning:p,dataSeriesName:_,dataSeriesCalculationName:v,filter:m,view:h,signal:g});return d===`reference-size`&&u.referenceSizeScale!=null&&y.referenceSizeResult&&!y.referenceSizeResult.isGrid&&!y.sizeOptimizationEnabled&&(y.sizeOptimizationEnabled=!0),{...e,creatorParameters:y,renderer:r}}async function De(e){let n=`regenerate-size-class-breaks-renderer`;await E(e,n);let r=await D(e);if(O(r)!==`size-class-breaks`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i,field:a,normalizationField:o,normalizationType:s,normalizationTotal:c,valueExpression:l,valueExpressionTitle:u}=r,{classificationMethod:d,standardDeviationInterval:f}=i,p=r.classBreakInfos.length,{layer:m,forBinning:h,filter:g,view:_,signal:v}=e,y=i?.dataSeriesName,b=i?.dataSeriesCalculationName,x=await Se({layer:m,field:a,valueExpression:l,valueExpressionTitle:u,normalizationType:s,normalizationField:o,normalizationTotal:c,classificationMethod:d,standardDeviationInterval:f,numClasses:p,outlineOptimizationEnabled:k(r),forBinning:h,dataSeriesName:y,dataSeriesCalculationName:b,filter:g,view:_,signal:v});return{...e,creatorParameters:x,renderer:r}}async function Oe(e){let n=`regenerate-size-age-renderer`;await E(e,n);let r=await D(e);if(O(r)!==`size-age`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i}=r,a=i?.visualVariables.find(e=>e.type===`size`),o=a.startTime,s=a.endTime,c=a.units,l=a.theme,{layer:u,filter:d,view:f,signal:p}=e,m=await we({layer:u,startTime:o,endTime:s,unit:c,theme:l,outlineOptimizationEnabled:k(r),sizeOptimizationEnabled:A(r),filter:d,view:f,signal:p});return{...e,creatorParameters:m,renderer:r}}async function X(e){let t=e.sizeScheme,n=null,r=null,i=await ce(e.basemap,e.view);if(n=i.basemapId==null?null:i.basemapId,r=i.basemapTheme==null?null:i.basemapTheme,t)return{scheme:q(t),basemapId:n,basemapTheme:r};let a=me({basemapTheme:r,geometryType:e.geometryType,worldScale:e.worldScale,view:e.view});return a&&(t=a.primaryScheme,n=a.basemapId,r=a.basemapTheme),{scheme:t,basemapId:n,basemapTheme:r}}function ke(e,t){switch(t){case`point`:case`multipoint`:{let t=e;return[d(t.minSize),d(t.maxSize)]}case`polyline`:{let t=e;return[d(t.minWidth),d(t.maxWidth)]}case`polygon`:{let t=e;return[d(t.marker.minSize),d(t.marker.maxSize)]}}}function Ae(e,t){e.transformationType===`clamped-linear`&&t===`below`&&e.flipSizes()}async function je(e,t,n,r,i,a){return Me(e,t,n,r)||ke(i,a)}function Me(e,t,n,r){return r===`spike`?[n?.minHeight??ge[0],n?.maxHeight??ge[1]]:r===`reference-size`&&t?[1,t.size]:e?[e.minSize,e.maxSize]:null}function Z(e,t){if(t.theme===`reference-size`&&e.min!=null&&e.max!=null&&e.avg!=null&&e.stddev!=null){let t=e.avg,n=e.min,r=e.max,i=e.stddev,a=t===0?0:i/t,o=n>0&&n<1&&r<2&&a<.5,s=n>0&&n<100&&r<200&&a<.5,c=t+2*i;return{minDataValue:o||s?0:n,maxDataValue:o?1:s?100:c,defaultValuesUsed:!1}}let{theme:n,field:r}=t,i=t.layer,a=r&&typeof r!=`function`?i.getField(r):null,o=pe(a);return se(e,n,o,n===`above`||n===`below`)}function Q(e,n){if((n===`spike`||n===`reference-size`)&&e.minDataValue!=null&&e.maxDataValue!=null&&e.minSize!=null&&e.maxSize!=null&&typeof e.minSize==`number`&&typeof e.maxSize==`number`)return[new f({value:e.minDataValue,size:e.minSize}),new f({value:e.maxDataValue,size:e.maxSize})];throw new t(`get-size-stops-for-theme`,`Invalid size variable or theme`)}async function Ne(e,n,i,a){let{theme:l,field:d,normalizationField:f,minValue:m,maxValue:h,axis:g}=e,_=e.layer.geometryType,v=await X({basemap:e.basemap,geometryType:_,sizeScheme:e.sizeScheme,worldScale:e.worldScale,view:e.view}),y=v.scheme;if(!y)throw new t(`size-visual-variable:insufficient-info`,`Unable to find size scheme`);let b=await je(i,a,e.spikeOptions,l,y,_),{minDataValue:x,maxDataValue:S,defaultValuesUsed:C}=Z(n,e),w=[],T=g===`height`,E=T?g:void 0,D=b[0],O=b[1];if(T&&typeof D==`number`&&typeof O==`number`){let e=oe({minSize:D,maxSize:O},E);w.push(new u({axis:`width-and-depth`,minSize:e.minSize})),O=e.maxSize}let k=new u({field:d??void 0,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,valueUnit:`unknown`,normalizationField:f,axis:E,minSize:D,maxSize:O,minDataValue:x,maxDataValue:S,legendOptions:r(p,e.legendOptions)});Ae(k,l),w.unshift(k);let A=l===`reference-size`?new c({type:`size`,field:e.field,normalizationField:e.normalizationField,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName,sizeStops:Q(k,l).map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),theme:l,referenceSizeScale:a?.isGrid||e.sizeOptimizationEnabled?e?.view?.scale:void 0,referenceSizeSymbolStyle:e.referenceSizeOptions?.symbolStyle,minSliderValue:m??n.min,maxSliderValue:h??n.max}):l===`spike`?new c({type:`size`,field:e.field,normalizationField:e.normalizationField,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName,spikeSymbolStyle:e.spikeOptions?.symbolStyle,sizeStops:Q(k,l).map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),theme:l,minSliderValue:m??n.min,maxSliderValue:h??n.max}):new c({type:`size`,theme:l,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName,minSliderValue:m??n.min,maxSliderValue:h??n.max}),j=new o({visualVariables:[A]});return{basemapId:v.basemapId,basemapTheme:v.basemapTheme,visualVariables:w,statistics:n,isGrid:a?.isGrid,defaultValuesUsed:C,sizeScheme:q(y),authoringInfo:j}}async function Pe(e,t,n,r,o){let s=await i(`esri/smartMapping/t9n/smartMapping`),c=o.layer,l=o.field,u=c.geometryType,d=o.defaultSymbolEnabled,f=q(e.sizeScheme),p=u===`polygon`,m=p?f.marker:f,h=p?f.background:null,g=p?`point`:u,_=t?.opacity,v=e.isGrid,b=o.theme,S=b===`reference-size`,C=b===`spike`,w=!S&&!C?e.visualVariables.map(e=>e.clone()):[];t?.visualVariables?.length&&w.push(...t.visualVariables.map(e=>e.clone()));let T=S?x({type:o.referenceSizeOptions?.symbolStyle||`circle`,color:m.color,primitiveOverrides:y({view:o.view,field:l,normalizationField:r,sizeStops:Q(e.visualVariables[0],b),sizeByScaleEnabled:v||!!o.sizeOptimizationEnabled})}):C?N({color:m.color,strokeColor:m.outline.color,baseWidth:o.spikeOptions?.baseWidth,strokeWidth:o.spikeOptions?.strokeWidth,defaultHeight:o.spikeOptions?.defaultHeight,primitiveOverrides:ee({field:l,normalizationField:r,sizeStops:Q(e.visualVariables[0],b)}),symbolStyle:o.spikeOptions?.symbolStyle}):L(g,{type:o.symbolType,color:m.color,size:z(m,g),outline:R(m,g,_)});return{renderer:new a({backgroundFillSymbol:!v&&h?L(u,{type:o.symbolType,color:h.color,outline:R(h,u,_)}):null,classBreakInfos:[{minValue:-he,maxValue:he,symbol:T}],defaultLabel:d?s.other:null,defaultSymbol:d&&!S&&!C?L(g,{type:o.symbolType,color:m.noDataColor,size:z(m,g,!0),outline:R(m,g,_)}):null,field:l,normalizationField:r,normalizationType:n,valueExpression:o.valueExpression,valueExpressionTitle:o.valueExpressionTitle,visualVariables:w,authoringInfo:e.authoringInfo?.clone()}),visualVariables:e.visualVariables.map(e=>e.clone()),statistics:e.statistics,defaultValuesUsed:e.defaultValuesUsed,isGrid:v,sizeScheme:q(e.sizeScheme),basemapId:e.basemapId,basemapTheme:e.basemapTheme}}function Fe(e,t){let r=n(e.minSize),i=(n(e.maxSize)-r)/(t>=4?t-1:t),a=[];for(let e=0;e<t;e++)a.push(r+i*e);return a}async function Ie(e,t){let n=await i(`esri/smartMapping/t9n/smartMapping`),r=e.layer,s=e.defaultSymbolEnabled,c=r.geometryType,u=c===`polygon`,d=e.symbolType?.includes(`3d-volumetric`),f=await X({basemap:e.basemap,geometryType:c,sizeScheme:e.sizeScheme,worldScale:d,view:e.view}),p=f.scheme,{result:m,outlineResult:h}=t,g=m?.classBreakInfos??[],_=e.classificationMethod,v=e.normalizationType,y=u?p.marker:p,b=u?p.background:null,x=u?`point`:c,S=ke(y,x),C=d?oe({minSize:S[0],maxSize:S[1]},`height`):null,w=Fe({minSize:S[0],maxSize:C?C.maxSize:S[1]},g.length),T=h?.opacity,E=new a({backgroundFillSymbol:b&&L(c,{type:e.symbolType,color:b.color,outline:R(b,c,T)}),classBreakInfos:g.map((t,n)=>({minValue:t.minValue,maxValue:t.maxValue,symbol:L(x,{type:e.symbolType,color:y.color,size:w[n],widthAndDepth:C?.minSize,outline:R(y,x,T)}),label:t.label})),defaultLabel:s?n.other:null,defaultSymbol:s?L(x,{type:e.symbolType,color:y.noDataColor,size:z(y,x,!0),widthAndDepth:C?.minSize,outline:R(y,x,T)}):null,field:e.field,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,normalizationType:v,normalizationField:e.normalizationField,normalizationTotal:v===`percent-of-total`?m?.normalizationTotal:void 0,legendOptions:e.legendOptions,authoringInfo:new o({type:`class-breaks-size`,classificationMethod:_,standardDeviationInterval:e.standardDeviationInterval,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName})});return _!==`standard-deviation`&&l({classBreakInfos:E.classBreakInfos,classificationMethod:_,normalizationType:v,round:!0}),h?.visualVariables?.length&&(E.visualVariables=h.visualVariables.map(e=>e.clone())),{renderer:E,sizeScheme:q(p),classBreaksResult:m,defaultValuesUsed:!!t.defaultValuesUsed,basemapId:f.basemapId,basemapTheme:f.basemapTheme}}async function $(e){let t=await _e(e),{view:n,field:r,valueExpression:i,minValue:a,maxValue:o,layer:s,normalizationField:c,signal:l,statistics:u,filter:d,dataSeriesName:f}=t,p=c?`field`:void 0,[m,h]=await Promise.all([u??(f?le({layer:s,view:n,signal:l,timeSeriesName:f,timeSeriesCalculationName:t.dataSeriesCalculationName,filter:d}):ae({layer:s,field:r,valueExpression:i,sqlExpression:t.sqlExpression,sqlWhere:t.sqlWhere,normalizationType:p,normalizationField:c,filter:d,minValue:a,maxValue:o,view:n,signal:l})),t.sizeOptimizationEnabled?_({view:n,layer:s,signal:l,filter:d}).catch(I):null]);return Ne(t,m,h,t.referenceSizeResult)}async function Le(e){let{view:t,filter:n,renderer:r,signal:i,creatorParameters:a}=await Te(e),{field:o,normalizationField:c,valueExpression:l,valueExpressionTitle:d,theme:f,layer:p,sizeOptimizationEnabled:m,spikeOptions:h,referenceSizeResult:g,dataSeriesName:v,dataSeriesCalculationName:y}=a,b=c?`field`:void 0,x=r.authoringInfo?.clone(),[S,C]=await Promise.all([(v?le({layer:p,view:t,signal:i,timeSeriesName:v,timeSeriesCalculationName:y,filter:n}):Promise.resolve(null)).then(e=>e??ae({layer:p,field:o,valueExpression:l,normalizationField:c,normalizationType:b,filter:n,view:t,signal:i})),m&&!g?_({view:t,layer:p,signal:i,filter:n}).catch(I):null]),w=Me(C,g,h,f),{minDataValue:E,maxDataValue:D}=Z(S,{theme:f,layer:p,field:o}),O=r.visualVariables?.find(T),k=(O?.stops?null:O)??new u({field:o??void 0,valueExpression:l,valueExpressionTitle:d,valueUnit:`unknown`,normalizationField:c});w&&(k.minSize=w[0],k.maxSize=w[1]),k.minDataValue=E,k.maxDataValue=D,v&&(k.valueExpression=l??null,k.valueExpressionTitle=d??null),Ae(k,f);let A=x.visualVariables.find(e=>e.type===`size`);A.dataSeriesName=v??A.dataSeriesName,A.dataSeriesCalculationName=y??A.dataSeriesCalculationName,A.minSliderValue=S.min,A.maxSliderValue=S.max;let j=f===`reference-size`;return(j||f===`spike`)&&(A.sizeStops=Q(k,f).map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),j&&(A.referenceSizeScale=g?.isGrid||m?t?.scale:void 0)),{visualVariables:f===`reference-size`||f===`spike`?[]:[k],isGrid:!!g?.isGrid,authoringInfo:x,statistics:S}}async function Re(e){let t=await ve(e),n={layer:t.layer,view:t.view,filter:t.filter,signal:t.signal},[r,i]=await Promise.all([$(Y(t)),t.outlineOptimizationEnabled?h(n).catch(I):null]),a=t.normalizationField;return Pe(r,i,a?`field`:void 0,a,t)}async function ze(e){let{renderer:t,view:n,signal:r,filter:i,creatorParameters:a,forBinning:o}=await Ee(e),{layer:s,sizeOptimizationEnabled:c,outlineOptimizationEnabled:l,theme:u,referenceSizeResult:d,valueExpression:f,valueExpressionTitle:p}=a,[m,g]=await Promise.all([Le({...e,referenceSizeResult:d}),l?h({layer:s,view:n,filter:i,signal:r}).catch(I):null]),_=u===`reference-size`,v=u===`spike`;S(t,m.visualVariables,j),S(t,g?.visualVariables,M),t.valueExpression=f??null,t.valueExpressionTitle=p??null,C(t,m.authoringInfo,`size`);let y=m.statistics;if(!_&&!v)return{renderer:t,statistics:y};if(v)return{renderer:await Ve({layer:s,renderer:t,forBinning:o,sizeStops:w(t,`size`,`spike`)?.sizeStops}),statistics:y};let b=m.isGrid;return{renderer:await Be({layer:s,renderer:t,view:n,forBinning:o,sizeOptimizationEnabled:c,sizeStops:w(t,`size`,`reference-size`)?.sizeStops,isGrid:b}),isGrid:b,statistics:y}}async function Be(n){let{layer:r,referenceSizeOptions:i,renderer:a,sizeScheme:c,sizeStops:l,typeScheme:u,view:d,isGrid:f}=await be(n),p=a.clone();p.authoringInfo??=new o;let m=p.authoringInfo.visualVariables.find(e=>e.theme===`reference-size`),h=n.field??m?.field,g=n.normalizationField??m?.normalizationField;if(!h)throw new t(`update-renderer-with-reference-size:invalid-parameters`,`'field' parameter or authoring info with 'field' is required.`);let _=y({view:d,field:h,normalizationField:g,sizeStops:l,sizeByScaleEnabled:f||!!n.sizeOptimizationEnabled}),v=i?.symbolStyle||m?.referenceSizeSymbolStyle||`circle`;if(p.type===`class-breaks`){let e=(`geometryType`in r?r.geometryType:null)===`polygon`&&c&&`marker`in c?c.marker:null;p.classBreakInfos.forEach(t=>{let n=e?.color??J(t.symbol,1);t.symbol.type===`cim`?b(t.symbol,{type:v,color:n,primitiveOverrides:_}):n&&(t.symbol=x({type:v,color:n,primitiveOverrides:_}))})}else if(p.type===`unique-value`){let t=p.uniqueValueGroups,n=(`geometryType`in r?r.geometryType:null)===`polygon`&&u&&`colors`in u?u.colors:null,i=n?e(n,p.uniqueValueInfos?.length??0):null,a=0;if(t){for(let e of t)for(let t of e.classes??[]){let e=i?i[a]:J(t.symbol,1);t.symbol?.type===`cim`?b(t.symbol,{type:v,color:e,primitiveOverrides:_}):e&&(t.symbol=x({type:v,color:e,primitiveOverrides:_})),a++}p.uniqueValueGroups=t}}return m&&(m.field=h,m.normalizationField=g,m.sizeStops=l.map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),m.referenceSizeScale=f||n.sizeOptimizationEnabled?d.scale:void 0,m.referenceSizeSymbolStyle=v),p}async function Ve(n){let{layer:r,renderer:i,sizeScheme:a,sizeStops:c,typeScheme:l,spikeOptions:u}=await xe(n),d=i.clone();d.authoringInfo??=new o;let f=d.authoringInfo.visualVariables.find(e=>e.theme===`spike`),p=n.field??f?.field,m=n.normalizationField??f?.normalizationField;if(!p)throw new t(`update-renderer-with-spike:invalid-parameters`,`'field' parameter or authoring info with 'field' is required.`);let h=ee({field:p,normalizationField:m,sizeStops:c}),g=`geometryType`in r?r.geometryType:null,_={primitiveOverrides:h,...u},y=u?.symbolStyle,b=y&&y.includes(`outline`)&&(y.includes(`solid-fill`)||y.includes(`gradient-fill`));if(d.type===`class-breaks`){if(a||b){let e=(g?await X({geometryType:g,sizeScheme:a,view:n.view}):null)?.scheme,t=g===`polygon`&&e&&`marker`in e?e.marker:e;a&&(_.color=t&&`color`in t?t?.color:void 0),b&&(_.strokeColor=t&&`outline`in t?t.outline.color:void 0)}d.classBreakInfos.forEach(e=>{if(e.symbol.type===`cim`)te(e.symbol,_);else{let t=_.color??J(e.symbol,1)??void 0;t&&(e.symbol=N({..._,color:t}))}})}else if(d.type===`unique-value`){let t=d.uniqueValueGroups,r=d.uniqueValueInfos?.length??0,i=null;if(l||b){let t=(g&&r?await v({numColors:r,geometryType:g,typeScheme:l,view:n.view}):null)?.scheme;if(l){let n=t&&`colors`in t?t.colors:null;i=n?e(n,r):null}b&&(_.strokeColor=t&&`outline`in t?t.outline.color:void 0)}let a=0;if(t){for(let e of t)for(let t of e.classes??[]){if(t.symbol?.type===`cim`)te(t.symbol,{..._,color:i?.[a]});else{let e=i?.[a]??J(t.symbol,1)??void 0;e&&(t.symbol=N({..._,color:e}))}a++}d.uniqueValueGroups=t}}return f&&(f.field=p,f.normalizationField=m,f.sizeStops=c.map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),y&&(f.spikeSymbolStyle=y)),d}async function He(e){let t=await Se(e);return Ie(t,await ie(Ce(t),t.outlineOptimizationEnabled))}async function Ue(e){let{renderer:n,creatorParameters:r}=await De(e),{outlineOptimizationEnabled:i,normalizationType:a,classificationMethod:o,valueExpression:s,valueExpressionTitle:c}=r,{result:u,outlineResult:d}=await ie(Ce(r),i),f=u.classBreakInfos;if(r.numClasses!==f.length)throw new t(`regenerate-class-breaks-renderer:invalid-parameters`,`The number of class breaks generated does not match the number of class breaks in the renderer.`);return n.classBreakInfos.forEach((e,t)=>{e.minValue=f[t].minValue,e.maxValue=f[t].maxValue,e.label=f[t].label}),n.normalizationTotal=a===`percent-of-total`?u.normalizationTotal:void 0,o!==`standard-deviation`&&l({classBreakInfos:n.classBreakInfos,classificationMethod:o,normalizationType:a,round:!0}),S(n,d?.visualVariables,M),n.valueExpression=s??null,n.valueExpressionTitle=c??null,{renderer:n}}async function We(e){let t=await we(e),{defaultSymbolEnabled:n,view:r,startTime:i,endTime:a,symbolType:o,minValue:s,maxValue:c,signal:l,filter:u,layer:d}=t,[f,p]=await Promise.all([t.unit?{unit:t.unit,statistics:null,valueExpression:null}:await m({view:r,layer:d,startTime:i,endTime:a,minValue:s,maxValue:c,signal:l,filter:u}),t.outlineOptimizationEnabled?h({layer:d,view:r,filter:u,signal:l}).catch(I):null]),{unit:g,statistics:_}=f,{valueExpression:v,title:y}=await ne(t,g),b=await Pe(await $(Y({layer:d,basemap:t.basemap,valueExpression:v,symbolType:o,statistics:_,legendOptions:{title:y},theme:t.theme,sizeScheme:t.sizeScheme,sizeOptimizationEnabled:t.sizeOptimizationEnabled,view:t.view,minValue:s,maxValue:c,filter:u,signal:l})),p,null,null,{layer:d,valueExpression:v,defaultSymbolEnabled:n,symbolType:o});return(b.renderer.authoringInfo?.visualVariables)?.forEach(e=>re(e,i,a,g)),{...b,unit:g}}async function Ge(e){let{renderer:t,creatorParameters:n}=await Oe(e),{layer:r,outlineOptimizationEnabled:i,sizeOptimizationEnabled:a,startTime:o,endTime:s,theme:c,view:l,signal:u,filter:d}=n,[f,p]=await Promise.all([m({view:l,layer:r,startTime:o,endTime:s,signal:u,filter:d}),i?h({layer:r,view:l,filter:d,signal:u}).catch(I):null]),{unit:g,statistics:_}=f,{valueExpression:v,title:y}=await ne(n,g),b=await $(Y({layer:r,valueExpression:v,statistics:_,legendOptions:{title:y},sizeOptimizationEnabled:a,theme:c,view:l,filter:d,signal:u}));return S(t,b.visualVariables,j),S(t,p?.visualVariables,M),t.authoringInfo=b.authoringInfo.clone(),(t.authoringInfo?.visualVariables)?.forEach(e=>re(e,o,s,g)),{renderer:t}}export{We as createAgeRenderer,He as createClassBreaksRenderer,Re as createContinuousRenderer,$ as createVisualVariables,Q as getSizeStopsForTheme,Ge as regenerateAgeRenderer,Ue as regenerateClassBreaksRenderer,ze as regenerateContinuousRenderer,Le as regenerateVisualVariables,Be as updateRendererWithReferenceSize,Ve as updateRendererWithSpike};
|
|
2
|
+
import{createUniqueColors as e}from"../../core/colorUtils.js";import t from"../../core/Error.js";import{toPt as n}from"../../core/screenUtils.js";import{ensureClass as r}from"../../core/accessorSupport/ensureType.js";import{fetchMessageBundle as i}from"../../intl/messages.js";import a from"../../renderers/ClassBreaksRenderer.js";import o from"../../renderers/support/AuthoringInfo.js";import s from"../../renderers/support/AuthoringInfoSizeStop.js";import c from"../../renderers/support/AuthoringInfoVisualVariable.js";import{setLabelsForClassBreaks as l}from"../../renderers/support/utils.js";import u from"../../renderers/visualVariables/SizeVariable.js";import{castSizeFromStringOrNumber as d}from"../../renderers/visualVariables/support/castSizeVariable.js";import f from"../../renderers/visualVariables/support/SizeStop.js";import p from"../../renderers/visualVariables/support/SizeVariableLegendOptions.js";import m from"../heuristics/ageUnit.js";import h from"../heuristics/outline.js";import g from"../heuristics/referenceSize.js";import _ from"../heuristics/sizeRange.js";import{getTypeSchemeData as v}from"./type.js";import{createPrimitiveOverrides as y,updateReferenceSizeSymbol as b,createReferenceSizeSymbol as x}from"./support/referenceSizeUtils.js";import{spliceVisualVariables as S,updateAuthoringInfoVisualVariable as C,getAuthoringInfoVisualVariable as w,isSizeVV as T,processRegenerateParams as E,getRendererToUpdate as D,getStyleType as O,hasOutlineVV as k,hasScaleDependentSizeVV as A,findSizeVVIndex as j,findOutlineVVIndex as M}from"./support/regenerateUtils.js";import{createPrimitiveOverrides as ee,updateSpikeSymbol as te,createSpikeSymbol as N,defaultSpikeSymbolStyle as P}from"./support/spikeUtils.js";import{resolveDataSeriesInfo as F}from"./support/timeSeriesUtils.js";import{errorCallback as I,getTitleAndExpressionForAgeRenderer as ne,updateAgeRendererAuthoringInfoVV as re,getClassBreaks as ie,getSummaryStatistics as ae,createSymbol as L,getSymbolOutlineFromScheme as R,getSymbolSizeFromScheme as z,verifyBasicFieldValidity as B,getSizeRangeForAxis as oe,getDataRange as se,getBasemapInfo as ce}from"./support/utils.js";import le from"../statistics/summaryStatisticsForTimeSeries.js";import{verifyDates as ue,supportedAgeUnits as de}from"../statistics/support/ageUtils.js";import{verifyBinningParams as V}from"../support/binningUtils.js";import{getNormalizationType as fe,getFieldsList as H,isAnyDateField as pe}from"../support/utils.js";import{createLayerAdapter as U,featureCapableLayerTypes as W,getLayerTypeLabels as G,binningCapableLayerTypes as K}from"../support/adapters/support/layerUtils.js";import{cloneScheme as q,getSchemes as me}from"../symbology/size.js";import{getColorFromSymbol as J}from"../../symbols/support/utils.js";const he=2**53-1,ge=[5,112.5];async function _e(e,n){let r=F({...e});if(!(r&&r.layer&&(r.field||r.valueExpression||r.sqlExpression)))throw new t(`size-visual-variable:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(r.valueExpression&&!r.sqlExpression&&!r.view)throw new t(`size-visual-variable:missing-parameters`,`View is required when 'valueExpression' is specified`);if(r.theme===`reference-size`&&!(r.view||r.field))throw new t(`size-visual-variable:missing-parameters`,`'view' and 'field' are required when 'theme' is 'reference-size'`);if(r.theme===`reference-size`&&r.valueExpression)throw new t(`size-visual-variable:missing-parameters`,`'valueExpression' is not supported when 'theme' is 'reference-size'`);r.forBinning&&V(r,`size-visual-variable`);let i={...r},a=r.forBinning?K:W,o=U(i.layer,a,r.forBinning);if(!o)throw new t(`size-visual-variable:invalid-parameters`,`'layer' must be one of these types: `+G(a).join(`, `));i.axis===`height`&&(i.sizeOptimizationEnabled=!1);let s=i.signal==null?null:{signal:i.signal};await o.load(s);let c=o.geometryType;if(c===`mesh`)throw new t(`size-visual-variable:invalid-parameters`,`Size visualization is not applicable to layers with 'mesh' geometry type`);if(i.worldScale){if(c===`polyline`||c===`polygon`)throw new t(`size-visual-variable:not-supported`,`'worldScale' sizing is not supported for polyline and polygon layers`);if(i.view?.type!==`3d`)throw new t(`size-visual-variable:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'worldScale' parameter is true`)}if(i.theme===`reference-size`&&!r.forBinning&&c!==`polygon`)throw new t(`size-visual-variable:invalid-parameters`,`Reference size is only supported for polygon layers`);if(i.theme===`spike`&&!r.forBinning&&c!==`polygon`&&c!==`point`)throw new t(`size-visual-variable:invalid-parameters`,`Spike is only supported for point and polygon layers`);let l=await H({field:i.field,normalizationField:i.normalizationField,valueExpression:i.valueExpression}),u=B(o,l,`size-visual-variable:invalid-parameters`);if(u)throw u;i.theme===`spike`&&!i.spikeOptions?.symbolStyle&&(i.spikeOptions??={},i.spikeOptions.symbolStyle=P);let d={...i,layer:o,referenceSizeResult:n};return await ye(d),d}async function ve(e){let n=F({...e});if(!(n&&n.layer&&(n.field||n.valueExpression||n.sqlExpression)))throw new t(`size-continuous-renderer:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(n.valueExpression&&!n.sqlExpression&&!n.view)throw new t(`size-continuous-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&V(n,`size-continuous-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0;let i=n.forBinning?K:W,a=U(r.layer,i,n.forBinning);if(!a)throw new t(`size-continuous-renderer:invalid-parameters`,`'layer' must be one of these types: `+G(i).join(`, `));let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType,c=r.symbolType.includes(`3d`);if(r.outlineOptimizationEnabled=r.theme!==`reference-size`&&r.theme!==`spike`&&s===`polygon`&&r.outlineOptimizationEnabled,s===`mesh`)throw new t(`size-continuous-renderer:invalid-parameters`,`Size visualization is not applicable to layers with 'mesh' geometry type`);if(c&&(s===`polyline`||s===`polygon`))throw new t(`size-continuous-renderer:not-supported`,`3d symbols are not supported for polyline and polygon layers`);if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`size-continuous-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform`);if(r.theme===`reference-size`&&!n.forBinning&&s!==`polygon`)throw new t(`size-continuous-renderer:invalid-parameters`,`Reference size is only supported for polygon layers`);if(r.theme===`spike`&&!n.forBinning&&s!==`polygon`&&s!==`point`)throw new t(`size-continuous-renderer:invalid-parameters`,`Spike is only supported for point and polygon layers`);let l=await H({field:r.field,normalizationField:r.normalizationField,valueExpression:r.valueExpression}),u=B(a,l,`size-continuous-renderer:invalid-parameters`);if(u)throw u;r.theme===`spike`&&!r.spikeOptions?.symbolStyle&&(r.spikeOptions??={},r.spikeOptions.symbolStyle=P);let d={...r,layer:a};return await ye(d),d}async function ye(e){let t=e.layer,n=t.geometryType,r=t.layer,i=e.forBinning&&`featureReduction`in r&&r.featureReduction?.type===`binning`;if((n===`polygon`||i)&&e.view&&e.field&&!e.valueExpression&&(!e.theme||e.theme===`reference-size`)){try{e.referenceSizeResult=e.referenceSizeResult??await g({layer:r,view:e.view,filter:e.filter,forBinning:e.forBinning,signal:e.signal})}catch{}!e.theme&&e.referenceSizeResult?.isGrid&&(e.theme=`reference-size`),e.referenceSizeOptions?.symbolStyle||(e.referenceSizeOptions?e.referenceSizeOptions.symbolStyle=`circle`:e.referenceSizeOptions={symbolStyle:`circle`})}}async function be(e){if(!e||!(e.layer&&e.view&&e.sizeStops))throw new t(`update-renderer-with-reference-size:missing-parameters`,`'layer', 'view and 'sizeStops' parameters are required`);let{view:n,forBinning:r}=e,i=e.forBinning?K:W,a=U(e.layer,i,e.forBinning);if(!a)throw new t(`update-renderer-with-reference-size:invalid-parameters`,`'layer' must be one of these types: `+G(i).join(`, `));let o=a.layer,s=e.renderer;if(!s){if(e.forBinning){if(!(`featureReduction`in o&&o.featureReduction&&`renderer`in o.featureReduction&&o.featureReduction.renderer&&(o.featureReduction.renderer.type===`class-breaks`||o.featureReduction.renderer.type===`unique-value`)))throw new t(`update-renderer-with-reference-size:invalid-parameters`,`Feature reduction renderer is not supported`);s=o.featureReduction.renderer}else{if(!(`renderer`in o&&o.renderer&&(o.renderer.type===`class-breaks`||o.renderer.type===`unique-value`)))throw new t(`update-renderer-with-reference-size:invalid-parameters`,`Renderer is not supported`);s=o.renderer}}let c=s.authoringInfo;if(!c||!c?.visualVariables?.some(e=>e.theme===`reference-size`))throw new t(`update-renderer-with-reference-size:invalid-parameters`,`'renderer.authoringInfo.visualVariables' should have an authoringInfoVisualVariable with 'theme' set to 'reference-size'`);let l=e.isGrid??(await g({view:n,layer:o,forBinning:r}))?.isGrid;return{...e,isGrid:l,renderer:s,layer:a}}async function xe(e){if(!e||!(e.layer&&e.sizeStops))throw new t(`update-renderer-with-spike:missing-parameters`,`'layer' and 'sizeStops' parameters are required`);let n=e.forBinning?K:W,r=U(e.layer,n,e.forBinning);if(!r)throw new t(`update-renderer-with-spike:invalid-parameters`,`'layer' must be one of these types: `+G(n).join(`, `));await r.load();let i=r.layer,a=e.renderer;if(!a){if(e.forBinning){if(!(`featureReduction`in i&&i.featureReduction&&`renderer`in i.featureReduction&&i.featureReduction.renderer&&(i.featureReduction.renderer.type===`class-breaks`||i.featureReduction.renderer.type===`unique-value`)))throw new t(`update-renderer-with-spike:invalid-parameters`,`Feature reduction renderer is not supported`);a=i.featureReduction.renderer}else{if(!(`renderer`in i&&i.renderer&&(i.renderer.type===`class-breaks`||i.renderer.type===`unique-value`)))throw new t(`update-renderer-with-spike:invalid-parameters`,`Renderer is not supported`);a=i.renderer}}let o=a.authoringInfo?.visualVariables.find(e=>e.theme===`spike`);if(!o)throw new t(`update-renderer-with-spike:invalid-parameters`,`'renderer.authoringInfo.visualVariables' should have an authoringInfoVisualVariable with 'theme' set to 'spike'`);let s=e.spikeOptions??{};return s.symbolStyle??=o?.spikeSymbolStyle?void 0:P,{...e,renderer:a,layer:r,spikeOptions:s}}async function Se(e){let n=F({...e});if(!(n&&n.layer&&(n.field||n.valueExpression)))throw new t(`size-class-breaks-renderer:missing-parameters`,`'layer' and 'field' or 'valueExpression' parameters are required`);if(n.valueExpression&&!n.view)throw new t(`size-class-breaks-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&V(n,`size-class-breaks-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0,r.classificationMethod??=`equal-interval`,r.normalizationType=fe(r);let i=n.forBinning?K:W,a=U(r.layer,i,n.forBinning);if(!a)throw new t(`size-class-breaks-renderer:invalid-parameters`,`'layer' must be one of these types: `+G(i).join(`, `));if((r.minValue==null||r.maxValue==null)&&(r.minValue!=null||r.maxValue!=null))throw new t(`size-class-breaks-renderer:missing-parameters`,`Both 'minValue' and 'maxValue' are required when specifying custom data range`);let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType,c=r.symbolType.includes(`3d`);if(r.outlineOptimizationEnabled=s===`polygon`&&r.outlineOptimizationEnabled,s===`mesh`)throw new t(`size-class-breaks-renderer:invalid-parameters`,`Size visualization is not applicable to layers with 'mesh' geometry type`);if(c&&(s===`polyline`||s===`polygon`))throw new t(`size-class-breaks-renderer:not-supported`,`3d symbols are not supported for polyline and polygon layers`);if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`size-class-breaks-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform`);let l=await H({field:r.field,normalizationField:r.normalizationField}),u=B(a,l,`size-class-breaks-renderer:invalid-parameters`);if(u)throw u;return{...r,layer:a}}function Ce(e){let t={...e};delete t.basemap,delete t.sizeScheme,delete t.legendOptions,delete t.symbolType,delete t.defaultSymbolEnabled;let n=t;return n.analyzeData=t.minValue==null||t.maxValue==null,n}function Y(e){let t={...e},n=!!t.symbolType?.includes(`3d-volumetric`),r=t;return r.worldScale=n,n&&(r.axis=t.symbolType===`3d-volumetric-uniform`?`all`:`height`),delete t.symbolType,delete t.defaultSymbolEnabled,r}async function we(e){if(!(e&&e.layer&&e.view&&e.startTime&&e.endTime))throw new t(`size-age-renderer:missing-parameters`,`'layer', 'view', 'startTime', 'endTime' parameters are required`);let n={...e};n.symbolType??=`2d`,n.defaultSymbolEnabled??=!0;let r=U(n.layer,W);if(!r)throw new t(`size-age-renderer:invalid-parameters`,`'layer' must be one of these types: `+G(W).join(`, `));let i=n.signal==null?null:{signal:n.signal};await r.load(i);let a=r.geometryType,o=n.symbolType.includes(`3d`);if(n.outlineOptimizationEnabled=a===`polygon`&&n.outlineOptimizationEnabled,a===`mesh`)throw new t(`size-age-renderer:invalid-parameters`,`Size visualization is not applicable to layers with 'mesh' geometry type`);if(o&&(a===`polyline`||a===`polygon`))throw new t(`size-age-renderer:not-supported`,`3d symbols are not supported for polyline and polygon layers`);if(n.symbolType.includes(`3d-volumetric`)&&!(n.view&&n.view.type===`3d`))throw new t(`size-age-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform`);let s=ue(r,n.startTime,n.endTime,`size-age-renderer:invalid-parameters`);if(s)throw s;if(n.unit&&!de.includes(n.unit))throw new t(`size-age-renderer:invalid-unit`,`Supported units are: ${de.join(`, `)}`);return{...n,layer:r}}async function Te(e){let n=`regenerate-size-visual-variables`;E(e,n);let r=await D(e),i=O(r);if(!i||![`size-continuous`,`univariate-color-size`,`color-size`,`relationship-size`,`type-size`].includes(i))throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let a=w(r,`size`);if(!a)throw new t(`${n}:invalid-parameters`,`Renderer does not have a size visual variable authoringInfo`);let o=a.theme,s=o===`reference-size`,c=o===`spike`,l=r.visualVariables?.find(T);if(!l&&!s&&!c)throw new t(`${n}:invalid-parameters`,`Renderer does not have a size visual variable`);let u=a.field,d=a.normalizationField,f=null,p=null;u||(l?.field?(u=l.field,d=l.normalizationField):r.field?(u=r.field,d=r.normalizationField):(f=l?.valueExpression??r.valueExpression,p=l?.valueExpressionTitle??r.valueExpressionTitle));let{layer:m,forBinning:h,filter:g,view:_,signal:v}=e,y=a.dataSeriesName,b=a.dataSeriesCalculationName,x=A(r),S=await _e({layer:m,field:u,valueExpression:f,valueExpressionTitle:p,normalizationField:d,theme:o,sizeOptimizationEnabled:x,forBinning:h,dataSeriesName:y,dataSeriesCalculationName:b,filter:g,view:_,signal:v},e.referenceSizeResult);return o===`reference-size`&&a.referenceSizeScale!=null&&S.referenceSizeResult&&!S.referenceSizeResult.isGrid&&!S.sizeOptimizationEnabled&&(S.sizeOptimizationEnabled=!0),{...e,creatorParameters:S,renderer:r}}async function Ee(e){let n=`regenerate-size-continuous-renderer`;E(e,n);let r=await D(e),i=O(r);if(!i||![`size-continuous`,`univariate-color-size`].includes(i))throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:a,field:o,normalizationField:s,valueExpression:c,valueExpressionTitle:l}=r,u=a?.visualVariables.find(e=>e.type===`size`),d=u.theme,{layer:f,forBinning:p,filter:m,view:h,signal:g}=e,_=u.dataSeriesName,v=u.dataSeriesCalculationName,y=await ve({layer:f,field:o,valueExpression:c,valueExpressionTitle:l,normalizationField:s,theme:d,outlineOptimizationEnabled:k(r),sizeOptimizationEnabled:A(r),forBinning:p,dataSeriesName:_,dataSeriesCalculationName:v,filter:m,view:h,signal:g});return d===`reference-size`&&u.referenceSizeScale!=null&&y.referenceSizeResult&&!y.referenceSizeResult.isGrid&&!y.sizeOptimizationEnabled&&(y.sizeOptimizationEnabled=!0),{...e,creatorParameters:y,renderer:r}}async function De(e){let n=`regenerate-size-class-breaks-renderer`;await E(e,n);let r=await D(e);if(O(r)!==`size-class-breaks`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i,field:a,normalizationField:o,normalizationType:s,normalizationTotal:c,valueExpression:l,valueExpressionTitle:u}=r,{classificationMethod:d,standardDeviationInterval:f}=i,p=r.classBreakInfos.length,m=r.classBreakInfos[0]?.symbol,h=m?.type===`point-3d`?m.symbolLayers.at(0):null,g=h?.type===`object`?`3d-volumetric`:h?`3d-flat`:`2d`,{layer:_,forBinning:v,filter:y,view:b,signal:x}=e,S=i?.dataSeriesName,C=i?.dataSeriesCalculationName,w=await Se({layer:_,symbolType:g,field:a,valueExpression:l,valueExpressionTitle:u,normalizationType:s,normalizationField:o,normalizationTotal:c,classificationMethod:d,standardDeviationInterval:f,numClasses:p,outlineOptimizationEnabled:k(r),forBinning:v,dataSeriesName:S,dataSeriesCalculationName:C,filter:y,view:b,signal:x});return{...e,creatorParameters:w,renderer:r}}async function Oe(e){let n=`regenerate-size-age-renderer`;await E(e,n);let r=await D(e);if(O(r)!==`size-age`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i}=r,a=i?.visualVariables.find(e=>e.type===`size`),o=a.startTime,s=a.endTime,c=a.units,l=a.theme,{layer:u,filter:d,view:f,signal:p}=e,m=await we({layer:u,startTime:o,endTime:s,unit:c,theme:l,outlineOptimizationEnabled:k(r),sizeOptimizationEnabled:A(r),filter:d,view:f,signal:p});return{...e,creatorParameters:m,renderer:r}}async function X(e){let t=e.sizeScheme,n=null,r=null,i=await ce(e.basemap,e.view);if(n=i.basemapId==null?null:i.basemapId,r=i.basemapTheme==null?null:i.basemapTheme,t)return{scheme:q(t),basemapId:n,basemapTheme:r};let a=me({basemapTheme:r,geometryType:e.geometryType,worldScale:e.worldScale,view:e.view});return a&&(t=a.primaryScheme,n=a.basemapId,r=a.basemapTheme),{scheme:t,basemapId:n,basemapTheme:r}}function ke(e,t){switch(t){case`point`:case`multipoint`:{let t=e;return[d(t.minSize),d(t.maxSize)]}case`polyline`:{let t=e;return[d(t.minWidth),d(t.maxWidth)]}case`polygon`:{let t=e;return[d(t.marker.minSize),d(t.marker.maxSize)]}}}function Ae(e,t){e.transformationType===`clamped-linear`&&t===`below`&&e.flipSizes()}async function je(e,t,n,r,i,a){return Me(e,t,n,r)||ke(i,a)}function Me(e,t,n,r){return r===`spike`?[n?.minHeight??ge[0],n?.maxHeight??ge[1]]:r===`reference-size`&&t?[1,t.size]:e?[e.minSize,e.maxSize]:null}function Z(e,t){if(t.theme===`reference-size`&&e.min!=null&&e.max!=null&&e.avg!=null&&e.stddev!=null){let t=e.avg,n=e.min,r=e.max,i=e.stddev,a=t===0?0:i/t,o=n>0&&n<1&&r<2&&a<.5,s=n>0&&n<100&&r<200&&a<.5,c=t+2*i;return{minDataValue:o||s?0:n,maxDataValue:o?1:s?100:c,defaultValuesUsed:!1}}let{theme:n,field:r}=t,i=t.layer,a=r&&typeof r!=`function`?i.getField(r):null,o=pe(a);return se(e,n,o,n===`above`||n===`below`)}function Q(e,n){if((n===`spike`||n===`reference-size`)&&e.minDataValue!=null&&e.maxDataValue!=null&&e.minSize!=null&&e.maxSize!=null&&typeof e.minSize==`number`&&typeof e.maxSize==`number`)return[new f({value:e.minDataValue,size:e.minSize}),new f({value:e.maxDataValue,size:e.maxSize})];throw new t(`get-size-stops-for-theme`,`Invalid size variable or theme`)}async function Ne(e,n,i,a){let{theme:l,field:d,normalizationField:f,minValue:m,maxValue:h,axis:g}=e,_=e.layer.geometryType,v=await X({basemap:e.basemap,geometryType:_,sizeScheme:e.sizeScheme,worldScale:e.worldScale,view:e.view}),y=v.scheme;if(!y)throw new t(`size-visual-variable:insufficient-info`,`Unable to find size scheme`);let b=await je(i,a,e.spikeOptions,l,y,_),{minDataValue:x,maxDataValue:S,defaultValuesUsed:C}=Z(n,e),w=[],T=g===`height`,E=T?g:void 0,D=b[0],O=b[1];if(T&&typeof D==`number`&&typeof O==`number`){let e=oe({minSize:D,maxSize:O},E);w.push(new u({axis:`width-and-depth`,minSize:e.minSize})),O=e.maxSize}let k=new u({field:d??void 0,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,valueUnit:`unknown`,normalizationField:f,axis:E,minSize:D,maxSize:O,minDataValue:x,maxDataValue:S,legendOptions:r(p,e.legendOptions)});Ae(k,l),w.unshift(k);let A=l===`reference-size`?new c({type:`size`,field:e.field,normalizationField:e.normalizationField,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName,sizeStops:Q(k,l).map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),theme:l,referenceSizeScale:a?.isGrid||e.sizeOptimizationEnabled?e?.view?.scale:void 0,referenceSizeSymbolStyle:e.referenceSizeOptions?.symbolStyle,minSliderValue:m??n.min,maxSliderValue:h??n.max}):l===`spike`?new c({type:`size`,field:e.field,normalizationField:e.normalizationField,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName,spikeSymbolStyle:e.spikeOptions?.symbolStyle,sizeStops:Q(k,l).map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),theme:l,minSliderValue:m??n.min,maxSliderValue:h??n.max}):new c({type:`size`,theme:l,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName,minSliderValue:m??n.min,maxSliderValue:h??n.max}),j=new o({visualVariables:[A]});return{basemapId:v.basemapId,basemapTheme:v.basemapTheme,visualVariables:w,statistics:n,isGrid:a?.isGrid,defaultValuesUsed:C,sizeScheme:q(y),authoringInfo:j}}async function Pe(e,t,n,r,o){let s=await i(`esri/smartMapping/t9n/smartMapping`),c=o.layer,l=o.field,u=c.geometryType,d=o.defaultSymbolEnabled,f=q(e.sizeScheme),p=u===`polygon`,m=p?f.marker:f,h=p?f.background:null,g=p?`point`:u,_=t?.opacity,v=e.isGrid,b=o.theme,S=b===`reference-size`,C=b===`spike`,w=!S&&!C?e.visualVariables.map(e=>e.clone()):[];t?.visualVariables?.length&&w.push(...t.visualVariables.map(e=>e.clone()));let T=S?x({type:o.referenceSizeOptions?.symbolStyle||`circle`,color:m.color,primitiveOverrides:y({view:o.view,field:l,normalizationField:r,sizeStops:Q(e.visualVariables[0],b),sizeByScaleEnabled:v||!!o.sizeOptimizationEnabled})}):C?N({color:m.color,strokeColor:m.outline.color,baseWidth:o.spikeOptions?.baseWidth,strokeWidth:o.spikeOptions?.strokeWidth,defaultHeight:o.spikeOptions?.defaultHeight,primitiveOverrides:ee({field:l,normalizationField:r,sizeStops:Q(e.visualVariables[0],b)}),symbolStyle:o.spikeOptions?.symbolStyle}):L(g,{type:o.symbolType,color:m.color,size:z(m,g),outline:R(m,g,_)});return{renderer:new a({backgroundFillSymbol:!v&&h?L(u,{type:o.symbolType,color:h.color,outline:R(h,u,_)}):null,classBreakInfos:[{minValue:-he,maxValue:he,symbol:T}],defaultLabel:d?s.other:null,defaultSymbol:d&&!S&&!C?L(g,{type:o.symbolType,color:m.noDataColor,size:z(m,g,!0),outline:R(m,g,_)}):null,field:l,normalizationField:r,normalizationType:n,valueExpression:o.valueExpression,valueExpressionTitle:o.valueExpressionTitle,visualVariables:w,authoringInfo:e.authoringInfo?.clone()}),visualVariables:e.visualVariables.map(e=>e.clone()),statistics:e.statistics,defaultValuesUsed:e.defaultValuesUsed,isGrid:v,sizeScheme:q(e.sizeScheme),basemapId:e.basemapId,basemapTheme:e.basemapTheme}}function Fe(e,t){let r=n(e.minSize),i=(n(e.maxSize)-r)/(t>=4?t-1:t),a=[];for(let e=0;e<t;e++)a.push(r+i*e);return a}async function Ie(e,t){let n=await i(`esri/smartMapping/t9n/smartMapping`),r=e.layer,s=e.defaultSymbolEnabled,c=r.geometryType,u=c===`polygon`,d=e.symbolType?.includes(`3d-volumetric`),f=await X({basemap:e.basemap,geometryType:c,sizeScheme:e.sizeScheme,worldScale:d,view:e.view}),p=f.scheme,{result:m,outlineResult:h}=t,g=m?.classBreakInfos??[],_=e.classificationMethod,v=e.normalizationType,y=u?p.marker:p,b=u?p.background:null,x=u?`point`:c,S=ke(y,x),C=d?oe({minSize:S[0],maxSize:S[1]},`height`):null,w=Fe({minSize:S[0],maxSize:C?C.maxSize:S[1]},g.length),T=h?.opacity,E=new a({backgroundFillSymbol:b&&L(c,{type:e.symbolType,color:b.color,outline:R(b,c,T)}),classBreakInfos:g.map((t,n)=>({minValue:t.minValue,maxValue:t.maxValue,symbol:L(x,{type:e.symbolType,color:y.color,size:w[n],widthAndDepth:C?.minSize,outline:R(y,x,T)}),label:t.label})),defaultLabel:s?n.other:null,defaultSymbol:s?L(x,{type:e.symbolType,color:y.noDataColor,size:z(y,x,!0),widthAndDepth:C?.minSize,outline:R(y,x,T)}):null,field:e.field,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,normalizationType:v,normalizationField:e.normalizationField,normalizationTotal:v===`percent-of-total`?m?.normalizationTotal:void 0,legendOptions:e.legendOptions,authoringInfo:new o({type:`class-breaks-size`,classificationMethod:_,standardDeviationInterval:e.standardDeviationInterval,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName})});return _!==`standard-deviation`&&l({classBreakInfos:E.classBreakInfos,classificationMethod:_,normalizationType:v,round:!0}),h?.visualVariables?.length&&(E.visualVariables=h.visualVariables.map(e=>e.clone())),{renderer:E,sizeScheme:q(p),classBreaksResult:m,defaultValuesUsed:!!t.defaultValuesUsed,basemapId:f.basemapId,basemapTheme:f.basemapTheme}}async function $(e){let t=await _e(e),{view:n,field:r,valueExpression:i,minValue:a,maxValue:o,layer:s,normalizationField:c,signal:l,statistics:u,filter:d,dataSeriesName:f}=t,p=c?`field`:void 0,[m,h]=await Promise.all([u??(f?le({layer:s,view:n,signal:l,timeSeriesName:f,timeSeriesCalculationName:t.dataSeriesCalculationName,filter:d}):ae({layer:s,field:r,valueExpression:i,sqlExpression:t.sqlExpression,sqlWhere:t.sqlWhere,normalizationType:p,normalizationField:c,filter:d,minValue:a,maxValue:o,view:n,signal:l})),t.sizeOptimizationEnabled?_({view:n,layer:s,signal:l,filter:d}).catch(I):null]);return Ne(t,m,h,t.referenceSizeResult)}async function Le(e){let{view:t,filter:n,renderer:r,signal:i,creatorParameters:a}=await Te(e),{field:o,normalizationField:c,valueExpression:l,valueExpressionTitle:d,theme:f,layer:p,sizeOptimizationEnabled:m,spikeOptions:h,referenceSizeResult:g,dataSeriesName:v,dataSeriesCalculationName:y}=a,b=c?`field`:void 0,x=r.authoringInfo?.clone(),[S,C]=await Promise.all([(v?le({layer:p,view:t,signal:i,timeSeriesName:v,timeSeriesCalculationName:y,filter:n}):Promise.resolve(null)).then(e=>e??ae({layer:p,field:o,valueExpression:l,normalizationField:c,normalizationType:b,filter:n,view:t,signal:i})),m&&!g?_({view:t,layer:p,signal:i,filter:n}).catch(I):null]),w=Me(C,g,h,f),{minDataValue:E,maxDataValue:D}=Z(S,{theme:f,layer:p,field:o}),O=r.visualVariables?.find(T),k=(O?.stops?null:O)??new u({field:o??void 0,valueExpression:l,valueExpressionTitle:d,valueUnit:`unknown`,normalizationField:c});w&&(k.minSize=w[0],k.maxSize=w[1]),k.minDataValue=E,k.maxDataValue=D,v&&(k.valueExpression=l??null,k.valueExpressionTitle=d??null),Ae(k,f);let A=x.visualVariables.find(e=>e.type===`size`);A.dataSeriesName=v??A.dataSeriesName,A.dataSeriesCalculationName=y??A.dataSeriesCalculationName,A.minSliderValue=S.min,A.maxSliderValue=S.max;let j=f===`reference-size`;return(j||f===`spike`)&&(A.sizeStops=Q(k,f).map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),j&&(A.referenceSizeScale=g?.isGrid||m?t?.scale:void 0)),{visualVariables:f===`reference-size`||f===`spike`?[]:[k],isGrid:!!g?.isGrid,authoringInfo:x,statistics:S}}async function Re(e){let t=await ve(e),n={layer:t.layer,view:t.view,filter:t.filter,signal:t.signal},[r,i]=await Promise.all([$(Y(t)),t.outlineOptimizationEnabled?h(n).catch(I):null]),a=t.normalizationField;return Pe(r,i,a?`field`:void 0,a,t)}async function ze(e){let{renderer:t,view:n,signal:r,filter:i,creatorParameters:a,forBinning:o}=await Ee(e),{layer:s,sizeOptimizationEnabled:c,outlineOptimizationEnabled:l,theme:u,referenceSizeResult:d,valueExpression:f,valueExpressionTitle:p}=a,[m,g]=await Promise.all([Le({...e,referenceSizeResult:d}),l?h({layer:s,view:n,filter:i,signal:r}).catch(I):null]),_=u===`reference-size`,v=u===`spike`;S(t,m.visualVariables,j),S(t,g?.visualVariables,M),t.valueExpression=f??null,t.valueExpressionTitle=p??null,C(t,m.authoringInfo,`size`);let y=m.statistics;if(!_&&!v)return{renderer:t,statistics:y};if(v)return{renderer:await Ve({layer:s,renderer:t,forBinning:o,sizeStops:w(t,`size`,`spike`)?.sizeStops}),statistics:y};let b=m.isGrid;return{renderer:await Be({layer:s,renderer:t,view:n,forBinning:o,sizeOptimizationEnabled:c,sizeStops:w(t,`size`,`reference-size`)?.sizeStops,isGrid:b}),isGrid:b,statistics:y}}async function Be(n){let{layer:r,referenceSizeOptions:i,renderer:a,sizeScheme:c,sizeStops:l,typeScheme:u,view:d,isGrid:f}=await be(n),p=a.clone();p.authoringInfo??=new o;let m=p.authoringInfo.visualVariables.find(e=>e.theme===`reference-size`),h=n.field??m?.field,g=n.normalizationField??m?.normalizationField;if(!h)throw new t(`update-renderer-with-reference-size:invalid-parameters`,`'field' parameter or authoring info with 'field' is required.`);let _=y({view:d,field:h,normalizationField:g,sizeStops:l,sizeByScaleEnabled:f||!!n.sizeOptimizationEnabled}),v=i?.symbolStyle||m?.referenceSizeSymbolStyle||`circle`;if(p.type===`class-breaks`){let e=(`geometryType`in r?r.geometryType:null)===`polygon`&&c&&`marker`in c?c.marker:null;p.classBreakInfos.forEach(t=>{let n=e?.color??J(t.symbol,1);t.symbol.type===`cim`?b(t.symbol,{type:v,color:n,primitiveOverrides:_}):n&&(t.symbol=x({type:v,color:n,primitiveOverrides:_}))})}else if(p.type===`unique-value`){let t=p.uniqueValueGroups,n=(`geometryType`in r?r.geometryType:null)===`polygon`&&u&&`colors`in u?u.colors:null,i=n?e(n,p.uniqueValueInfos?.length??0):null,a=0;if(t){for(let e of t)for(let t of e.classes??[]){let e=i?i[a]:J(t.symbol,1);t.symbol?.type===`cim`?b(t.symbol,{type:v,color:e,primitiveOverrides:_}):e&&(t.symbol=x({type:v,color:e,primitiveOverrides:_})),a++}p.uniqueValueGroups=t}}return m&&(m.field=h,m.normalizationField=g,m.sizeStops=l.map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),m.referenceSizeScale=f||n.sizeOptimizationEnabled?d.scale:void 0,m.referenceSizeSymbolStyle=v),p}async function Ve(n){let{layer:r,renderer:i,sizeScheme:a,sizeStops:c,typeScheme:l,spikeOptions:u}=await xe(n),d=i.clone();d.authoringInfo??=new o;let f=d.authoringInfo.visualVariables.find(e=>e.theme===`spike`),p=n.field??f?.field,m=n.normalizationField??f?.normalizationField;if(!p)throw new t(`update-renderer-with-spike:invalid-parameters`,`'field' parameter or authoring info with 'field' is required.`);let h=ee({field:p,normalizationField:m,sizeStops:c}),g=`geometryType`in r?r.geometryType:null,_={primitiveOverrides:h,...u},y=u?.symbolStyle,b=y&&y.includes(`outline`)&&(y.includes(`solid-fill`)||y.includes(`gradient-fill`));if(d.type===`class-breaks`){if(a||b){let e=(g?await X({geometryType:g,sizeScheme:a,view:n.view}):null)?.scheme,t=g===`polygon`&&e&&`marker`in e?e.marker:e;a&&(_.color=t&&`color`in t?t?.color:void 0),b&&(_.strokeColor=t&&`outline`in t?t.outline.color:void 0)}d.classBreakInfos.forEach(e=>{if(e.symbol.type===`cim`)te(e.symbol,_);else{let t=_.color??J(e.symbol,1)??void 0;t&&(e.symbol=N({..._,color:t}))}})}else if(d.type===`unique-value`){let t=d.uniqueValueGroups,r=d.uniqueValueInfos?.length??0,i=null;if(l||b){let t=(g&&r?await v({numColors:r,geometryType:g,typeScheme:l,view:n.view}):null)?.scheme;if(l){let n=t&&`colors`in t?t.colors:null;i=n?e(n,r):null}b&&(_.strokeColor=t&&`outline`in t?t.outline.color:void 0)}let a=0;if(t){for(let e of t)for(let t of e.classes??[]){if(t.symbol?.type===`cim`)te(t.symbol,{..._,color:i?.[a]});else{let e=i?.[a]??J(t.symbol,1)??void 0;e&&(t.symbol=N({..._,color:e}))}a++}d.uniqueValueGroups=t}}return f&&(f.field=p,f.normalizationField=m,f.sizeStops=c.map(({label:e,size:t,value:n})=>new s({label:e,size:t,value:n})),y&&(f.spikeSymbolStyle=y)),d}async function He(e){let t=await Se(e);return Ie(t,await ie(Ce(t),t.outlineOptimizationEnabled))}async function Ue(e){let{renderer:t,creatorParameters:n}=await De(e),{outlineOptimizationEnabled:r,normalizationType:i,classificationMethod:a,valueExpression:o,valueExpressionTitle:s}=n;if(a===`manual`)return{renderer:t};let c=await ie(Ce(n),r),{result:u,outlineResult:d}=c,f=u.classBreakInfos;if(n.numClasses!==f.length){let{renderer:e}=await Ie(n,c);t.classBreakInfos=e.classBreakInfos}else t.classBreakInfos.forEach((e,t)=>{e.minValue=f[t].minValue,e.maxValue=f[t].maxValue,e.label=f[t].label}),a!==`standard-deviation`&&l({classBreakInfos:t.classBreakInfos,classificationMethod:a,normalizationType:i,round:!0});return t.normalizationTotal=i===`percent-of-total`?u.normalizationTotal:void 0,S(t,d?.visualVariables,M),t.valueExpression=o??null,t.valueExpressionTitle=s??null,{renderer:t}}async function We(e){let t=await we(e),{defaultSymbolEnabled:n,view:r,startTime:i,endTime:a,symbolType:o,minValue:s,maxValue:c,signal:l,filter:u,layer:d}=t,[f,p]=await Promise.all([t.unit?{unit:t.unit,statistics:null,valueExpression:null}:await m({view:r,layer:d,startTime:i,endTime:a,minValue:s,maxValue:c,signal:l,filter:u}),t.outlineOptimizationEnabled?h({layer:d,view:r,filter:u,signal:l}).catch(I):null]),{unit:g,statistics:_}=f,{valueExpression:v,title:y}=await ne(t,g),b=await Pe(await $(Y({layer:d,basemap:t.basemap,valueExpression:v,symbolType:o,statistics:_,legendOptions:{title:y},theme:t.theme,sizeScheme:t.sizeScheme,sizeOptimizationEnabled:t.sizeOptimizationEnabled,view:t.view,minValue:s,maxValue:c,filter:u,signal:l})),p,null,null,{layer:d,valueExpression:v,defaultSymbolEnabled:n,symbolType:o});return(b.renderer.authoringInfo?.visualVariables)?.forEach(e=>re(e,i,a,g)),{...b,unit:g}}async function Ge(e){let{renderer:t,creatorParameters:n}=await Oe(e),{layer:r,outlineOptimizationEnabled:i,sizeOptimizationEnabled:a,startTime:o,endTime:s,theme:c,view:l,signal:u,filter:d}=n,[f,p]=await Promise.all([m({view:l,layer:r,startTime:o,endTime:s,signal:u,filter:d}),i?h({layer:r,view:l,filter:d,signal:u}).catch(I):null]),{unit:g,statistics:_}=f,{valueExpression:v,title:y}=await ne(n,g),b=await $(Y({layer:r,valueExpression:v,statistics:_,legendOptions:{title:y},sizeOptimizationEnabled:a,theme:c,view:l,filter:d,signal:u}));return S(t,b.visualVariables,j),S(t,p?.visualVariables,M),t.authoringInfo=b.authoringInfo.clone(),(t.authoringInfo?.visualVariables)?.forEach(e=>re(e,o,s,g)),{renderer:t}}export{We as createAgeRenderer,He as createClassBreaksRenderer,Re as createContinuousRenderer,$ as createVisualVariables,Q as getSizeStopsForTheme,Ge as regenerateAgeRenderer,Ue as regenerateClassBreaksRenderer,ze as regenerateContinuousRenderer,Le as regenerateVisualVariables,Be as updateRendererWithReferenceSize,Ve as updateRendererWithSpike};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../../core/Error.js";async function t(t,n){let{layer:r,view:i,forBinning:a,filter:o}=t;if(!r||!i)throw new e(`${n}:missing-parameters`,`'layer' and 'view' parameters are required`);await r.load();let s=`featureReduction`in r?r.featureReduction:null;if(a){if(s?.type!==`binning`)throw new e(`${n}:invalid-parameters`,`'layer' must have 'featureReduction' property defined with 'binning' type when 'forBinning' parameter is true`);if(o)throw new e(`${n}:invalid-parameters`,`'filter' parameter is not supported when 'forBinning' parameter is true`)}return t}async function n(t){let{layer:n,forBinning:r,renderer:i}=t;await n.load();let a=`featureReduction`in n?n.featureReduction:null,o=i?.clone()??(r&&a?.type===`binning`?a?.renderer?.clone():`renderer`in n?n.renderer?.clone():null);if(!o)throw new e(`get-renderer-to-update:invalid-parameters`,`renderer not available`);return o}function r(e,t,n){return(e?.authoringInfo?.visualVariables)?.find(e=>n===`reference-size`?e.type===t&&e.theme===`reference-size`:n===`spike`?e.type===t&&e.theme===`spike`:e.type===t)}function i(e){if(!e)return null;let t=e.type,n=`visualVariables`in e?e.visualVariables:null,i=n?.find(p),a=n?.find(g),o=e.authoringInfo,s=r(e,`color`),c=r(e,`size`),l=r(e,`size`,`reference-size`),u=r(e,`size`,`spike`);if(t===`class-breaks`){if(o?.type===`univariate-color-size`)return`univariate-color-size`;if(i)return a?c?.units?`color-size-age`:s?.units?`color-age-size`:`color-size`:s?.units?`color-age`:l||u?`color-size`:`color-continuous`;if(a)return c?.units?`size-age`:`size-continuous`;if(e.classBreakInfos.length>1)return
|
|
2
|
+
import e from"../../../core/Error.js";async function t(t,n){let{layer:r,view:i,forBinning:a,filter:o}=t;if(!r||!i)throw new e(`${n}:missing-parameters`,`'layer' and 'view' parameters are required`);await r.load();let s=`featureReduction`in r?r.featureReduction:null;if(a){if(s?.type!==`binning`)throw new e(`${n}:invalid-parameters`,`'layer' must have 'featureReduction' property defined with 'binning' type when 'forBinning' parameter is true`);if(o)throw new e(`${n}:invalid-parameters`,`'filter' parameter is not supported when 'forBinning' parameter is true`)}return t}async function n(t){let{layer:n,forBinning:r,renderer:i}=t;await n.load();let a=`featureReduction`in n?n.featureReduction:null,o=i?.clone()??(r&&a?.type===`binning`?a?.renderer?.clone():`renderer`in n?n.renderer?.clone():null);if(!o)throw new e(`get-renderer-to-update:invalid-parameters`,`renderer not available`);return o}function r(e,t,n){return(e?.authoringInfo?.visualVariables)?.find(e=>n===`reference-size`?e.type===t&&e.theme===`reference-size`:n===`spike`?e.type===t&&e.theme===`spike`:e.type===t)}function i(e){if(!e)return null;let t=e.type,n=`visualVariables`in e?e.visualVariables:null,i=n?.find(p),a=n?.find(g),o=e.authoringInfo,s=r(e,`color`),c=r(e,`size`),l=r(e,`size`,`reference-size`),u=r(e,`size`,`spike`);if(t===`class-breaks`){if(o?.type===`univariate-color-size`)return`univariate-color-size`;if(o?.type===`class-breaks-color`)return`color-class-breaks`;if(o?.type===`class-breaks-size`)return`size-class-breaks`;if(i)return a?c?.units?`color-size-age`:s?.units?`color-age-size`:`color-size`:s?.units?`color-age`:l||u?`color-size`:`color-continuous`;if(a)return c?.units?`size-age`:`size-continuous`;if(e.classBreakInfos.length>1)return null;if(l||u)return`size-continuous`}return t===`unique-value`?e.valueExpression?o?.type===`predominance`?`predominance`:o?.type===`relationship`?a||l||u?`relationship-size`:`relationship`:a||l||u?`type-size`:`type`:a?c?.units?`type-size-age`:`type-size`:l||u?`type-size`:`type`:t===`pie-chart`?`pie-chart`:t===`dot-density`?`dot-density`:t===`heatmap`?`heatmap`:t===`simple`?`location`:null}function a(e){return!!e.visualVariables?.some(_)}function o(e){return!!e.visualVariables?.some(v)}function s(e){return e?.findIndex(_)??-1}function c(e){return e?.findIndex(g)??-1}function l(e){return e?.findIndex(p)??-1}function u(e){return e?.findIndex(m)??-1}function d(e){return e?.findIndex(h)??-1}function f(e){return e?.findIndex(v)??-1}function p(e){return e.type===`color`}function m(e){return e.type===`opacity`}function h(e){return e.type===`rotation`}function g(e){return e.type===`size`&&e.target!==`outline`&&e.valueExpression!==`$view.scale`}function _(e){return e.type===`size`&&e.target===`outline`}function v(e){return e.type===`size`&&e.valueExpression===`$view.scale`&&e.target!==`outline`&&Array.isArray(e.stops)}function y(e,t,n){let r=e.visualVariables,i=n(r);if(!t||Array.isArray(t)&&!t.length)return;Array.isArray(t)||(t=[t]);let a=t.map(e=>e.clone());r?i>-1?r.splice(i,1,...a):r.push(...a):e.visualVariables=a}function b(e,t,n){let i=t?.visualVariables.find(e=>e.type===n),a=r(e,n);a&&i&&(a.dataSeriesName=i.dataSeriesName,a.dataSeriesCalculationName=i.dataSeriesCalculationName,a.minSliderValue=i.minSliderValue,a.maxSliderValue=i.maxSliderValue,n===`size`&&(a.theme===`reference-size`||a.theme===`spike`)&&(a.sizeStops=i.sizeStops?.map(e=>e.clone()),a.theme===`reference-size`&&(a.referenceSizeScale=i.referenceSizeScale)))}export{l as findColorVVIndex,u as findOpacityVVIndex,s as findOutlineVVIndex,d as findRotationVVIndex,f as findScaleDependentSizeVVIndex,c as findSizeVVIndex,r as getAuthoringInfoVisualVariable,n as getRendererToUpdate,i as getStyleType,a as hasOutlineVV,o as hasScaleDependentSizeVV,p as isColorVV,m as isOpacityVV,_ as isOutlineVV,h as isRotationVV,v as isScaleDependentSizeVV,g as isSizeVV,t as processRegenerateParams,y as spliceVisualVariables,b as updateAuthoringInfoVisualVariable};
|
package/support/timeUtils.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ import type { TimeSliderSettings } from "../widgets/TimeSlider/types.js";
|
|
|
26
26
|
* If canceled, the promise will be rejected with an error named `AbortError`.
|
|
27
27
|
* See also [AbortController](https://developer.mozilla.org/docs/Web/API/AbortController).
|
|
28
28
|
* @returns Returns a promise that resolves to a [TimeExtent](https://developers.arcgis.com/javascript/latest/references/core/time/TimeExtent/).
|
|
29
|
+
* @see [FeatureLayer.timeInfo](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#timeInfo)
|
|
29
30
|
* @example
|
|
30
31
|
* // Get the time extent of all layers in the view.
|
|
31
32
|
* const fullTimeExtent = await getTimeExtentFromLayers(view.map.allLayers);
|
|
@@ -35,6 +36,16 @@ import type { TimeSliderSettings } from "../widgets/TimeSlider/types.js";
|
|
|
35
36
|
* earthquakes,
|
|
36
37
|
* emergencyCalls
|
|
37
38
|
* ]);
|
|
39
|
+
* @example
|
|
40
|
+
* // update layer's timeInfo at runtime
|
|
41
|
+
* featureLayer.timeInfo = {
|
|
42
|
+
* startField: "DateField",
|
|
43
|
+
* timeZone: "UTC"
|
|
44
|
+
* };
|
|
45
|
+
*
|
|
46
|
+
* // calculate the fullTimeExtent based on startField
|
|
47
|
+
* const fullTimeExtent = getTimeExtentFromLayers([featureLayer]);
|
|
48
|
+
* featureLayer.timeInfo.fullTimeExtent = fullTimeExtent;
|
|
38
49
|
*/
|
|
39
50
|
export function getTimeExtentFromLayers(layers: ReadonlyArrayOrCollection<Layer>, signal?: AbortSignal | null | undefined): Promise<TimeExtent>;
|
|
40
51
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../../../request.js";import{bidiText as t}from"../../../../core/BidiText.js";import{getFullyQualifiedFontName as n}from"../../../../core/fontUtils.js";import has from"../../../../core/has.js";import r from"../../../../core/Logger.js";import{ignoreAbortErrors as i,throwIfNotAbortError as a}from"../../../../core/promiseUtils.js";import{loadTextModule as o}from"../../../../libs/librust-text/loadTextModule.js";import{parseRichTextRuns as s}from"../../../../symbols/cim/richTextUtils.js";import{decorGlyphRect as c}from"./decorGlyphRect.js";import{sdfRadiusComplex as l,sdfBufferGlyphSDFCreator as u,sdfSizeComplex as d,sdfBufferServer as f,sdfRadiusSimple as p,sdfSizeSimple as m}from"./definitions.js";import{GlyphSDFCreator as h}from"./GlyphSDFCreator.js";import g from"./GlyphSource.js";import{hashMosaic as _}from"./hashMosaic.js";import v from"./Rect.js";import y from"./RectangleBinPack.js";const b=`arial-unicode-ms-regular`,x=/[\u0695\u0698\u06a9\u06af\u06b5\u06be\u06c6\u06cc\u06ce\u06d5\u06ca]|\p{Script=Thai}|\p{Script=Lao}|\p{Script=Tamil}|\p{Script=Khmer}/u,S=new Set([`Noto Sans Khmer`,`Noto Sans Lao`,`Noto Sans Myanmar`,`Noto Sans Thai`]),C=()=>r.getLogger(`esri.views.MapView`),w=(e,t=``)=>C().warnOnce(e,t);class T{constructor(){this._glyphSources=new Map,this._snapCoords=!0,this._currentPage=0,this._faces=new Map,this._facePromises=new Map,this._pbfRangePromises=new Map,this._glyphCache=new Map,this._pbfGlyphCache=new Map,this._invalidFonts=new Set,this._preloadCache={},this._glyphSDFCreator=new h({sdfSizePx:d,sdfBufferPx:u,radius:l,cutoff:.25})}set remoteClient(e){this._client=e.createInvokeProxy();let t=i(this._client.getOptions());this._inited=this._init(t)}async rasterizeText(e,t,n){await this._inited;let r=t.symbol?s(t):null;return r?{type:`rich-glyphs`,runs:(await Promise.all(r.map(async t=>({fontSize:t.fontSize,characterSpacing:t.characterSpacing,decoration:t.font.decoration,color:t.color,glyphs:await this._rasterizeTextRun(e,t.font,t.text,n)})))).filter(e=>e.glyphs!=null)}:this._rasterizeTextRun(e,t.font,t.textString,n)}async _rasterizeTextRun(e,t,r,i){let a=n(t),o=this._invalidFonts.has(a),s=!!has(`esri-2d-force-complex-shaping`),c=!!has(`esri-2d-complex-shaping`)&&x.test(r),l=S.has(t.family),u=s||c||l,d=o?b:a,f=await this.getGlyphItems(r,u,e,d,!1,i);return f||=(w(`Font ${a} is not available on the web, using "Arial Unicode MS Regular"`),this._invalidFonts.add(a),await this.getGlyphItems(r,u,e,b,!1,i)),f}async getGlyphItems(e,n,r,i,a,o){await this._inited;let s=this._getSource(r),c=n?d:m,h=n?l:p,g=n?u:f,_,v,y;if(has(`esri-2d-stabilize-glyphs`)&&await this.preloadASCIIGlyphCache(s,i).catch(()=>{}),n){let t=await this._getFace(s,i);if(!t)return null;let n=this._glyphCache.get(i);n||(n=new Map,this._glyphCache.set(i,n));let{shaping:r,isRTL:a}=this._shape(t,e);y=a,_=r.map(e=>this._getShapedGlyph(t,n,e)),v={baseline:t.baseline()/c,midline:t.midline()/c}}else{let n=this._pbfGlyphCache.get(i);n||(n=new Map,this._pbfGlyphCache.set(i,n));let[r,c,l]=t(e),u=k(r);try{await this._fetchRanges(s,i,u,o)}catch{return null}y=c,_=u.map(e=>this._getPBFGlyph(n,s,i,e,a)).filter(e=>!!e)}let b=_.filter(e=>e.needsRecord);return b.length>0&&await this._client.recordGlyphs(b),{type:`glyphs`,glyphs:_,faceInfo:v,isRightToLeft:y,sdfSize:c,sdfRadius:h,sdfPadding:g}}async _init(e){let t=await e;if(!t)return;let{width:n,height:r,snapCoords:i}=t;this._glyphCache=new Map,this._pbfGlyphCache=new Map,this._binPack=new y(n,r),this._snapCoords=i,this._currentPage=0,this._initDecorationGlyphs()}_getShapedGlyph(e,t,n){let r,i,a=t.get(n.glyphId);if(!a){r=this._glyphSDFCreator.draw(e,n.glyphId);let o=this._glyphSDFCreator.sdfBufferPx;a={mosaicItem:{rect:this._recordGlyph(r?.rect,o),page:this._currentPage,sdf:!0,textureBinding:_(1,this._currentPage,!0)},glyphRect:r?.rect??{width:0,height:0,top:0,left:0}},t.set(n.glyphId,a),i=!0}return{mosaicItem:a.mosaicItem,rect:a.glyphRect,shaping:{xAdvance:n.xAdvance,yAdvance:n.yAdvance,xOffset:n.xOffset,yOffset:n.yOffset},code:n.isNewline?10:n.isWhitespace?32:NaN,sdf:r,needsRecord:i}}_getPBFGlyph(e,t,n,r,i=!1){let a,o,s=e.get(r);if(!s){let c=t.getRange(n,r),l=c?.getRect(r),d=c?.getShaping(r),f=c?.getBitmap(r);if(i&&(!l||!d))return;if(!l||!d)return O(r);let p={rect:f?this._recordGlyph(l,u):new v(0,0,0,0),sdf:!0,page:this._currentPage,textureBinding:_(1,this._currentPage,!0)};a=f&&{buffer:f,rect:l},s={mosaicItem:p,rect:l,shaping:d,code:r},o=!0,e.set(r,s)}let{mosaicItem:c,rect:l,shaping:d}=s;return{mosaicItem:c,rect:l,shaping:d,code:r,sdf:a,needsRecord:o}}_shape(e,n){let r=this._glyphSDFCreator.sdfSizePx,[i,a,o]=t(n,!1),s=new Uint32Array(Array.from(i).map((e,t)=>o.levels[o.targetToSource[t]]));return{shaping:e.shape(i,s,r),isRTL:a}}async _getFace(t,n,r){if(this._faces.has(n))return this._faces.get(n);let i=t.woffURL(n);return await D(this._facePromises,n,async()=>{let t=await e(i,{responseType:`array-buffer`,...r}),a=(await o()).Face.parseWoff2(new Uint8Array(t.data));this._faces.set(n,a)}),this._faces.get(n)}_getSource(e){return this._glyphSources.has(e)||this._glyphSources.set(e,new g(e)),this._glyphSources.get(e)}async _fetchRanges(e,t,n,r){let i=E(n),a=[];i.forEach(n=>{a.push(this._fetchRange(e,t,n,r))}),await Promise.all(a)}async _fetchRange(e,t,n,r){if(n>256)return;let i=t+n;return D(this._pbfRangePromises,i,()=>e.fetchRange(t,n,r))}_allocNewPage(){this._currentPage++,this._binPack=new y(this._binPack.width,this._binPack.height),this._initDecorationGlyphs()}_recordGlyph(e,t){let n=this._binPack;if(!e||e.width===0)return new v;let r=e.width+t*2,i=e.height+t*2,a=r,o=i;if(this._snapCoords){let e=r%4?4-r%4:4,t=i%4?4-i%4:4;a+=e,o+=t}let s=n.allocate(a,o);return s.isEmpty?(this._allocNewPage(),n.allocate(a,o)):s}_initDecorationGlyphs(){this._recordGlyph(c,f),this._recordGlyph(c,f)}preloadASCIIGlyphCache(e,t){let n=this._preloadCache[t];if(n!=null)return n;let r=e.preloadASCIIRange(t).then(async()=>{let n=this._pbfGlyphCache.get(t);n||(n=new Map,this._pbfGlyphCache.set(t,n));let r=[];for(let i=0;i<256;i++){let a=this._getPBFGlyph(n,e,t,i);a?.needsRecord&&r.push(a)}await this._client.recordGlyphs(r)},e=>{throw delete this._preloadCache[t],e});return this._preloadCache[t]=r,r}}function E(e){let t=new Set;for(let n of e)t.add(Math.floor(n/256));return t}function D(e,t,n){return e.has(t)||e.set(t,n().finally(()=>{e.delete(t)}).catch(e=>{a(e)})),e.get(t)}const O=e=>({mosaicItem:{rect:new v(0,0,0,0),sdf:!0,page:0},rect:{left:0,width:0,height:0,top:0},shaping:{xAdvance:0,yAdvance:0,xOffset:0,yOffset:0},code:e});function k(e){let t=[];for(let n=0;n<e.length;n++)t.push(e.charCodeAt(n));return t}export{T as default};
|
|
2
|
+
import e from"../../../../request.js";import{bidiText as t}from"../../../../core/BidiText.js";import{getFullyQualifiedFontName as n}from"../../../../core/fontUtils.js";import has from"../../../../core/has.js";import r from"../../../../core/Logger.js";import{ignoreAbortErrors as i,throwIfNotAbortError as a}from"../../../../core/promiseUtils.js";import{loadTextModule as o}from"../../../../libs/librust-text/loadTextModule.js";import{parseRichTextRuns as s}from"../../../../symbols/cim/richTextUtils.js";import{decorGlyphRect as c}from"./decorGlyphRect.js";import{sdfRadiusComplex as l,sdfBufferGlyphSDFCreator as u,sdfSizeComplex as d,sdfBufferServer as f,sdfRadiusSimple as p,sdfSizeSimple as m}from"./definitions.js";import{GlyphSDFCreator as h}from"./GlyphSDFCreator.js";import g from"./GlyphSource.js";import{hashMosaic as _}from"./hashMosaic.js";import v from"./Rect.js";import y from"./RectangleBinPack.js";const b=`arial-unicode-ms-regular`,x=/[\u0695\u0698\u06a9\u06af\u06b5\u06be\u06c6\u06cc\u06ce\u06d5\u06ca]|\p{Script=Thai}|\p{Script=Lao}|\p{Script=Tamil}|\p{Script=Khmer}/u,S=new Set([`Noto Sans Khmer`,`Noto Sans Lao`,`Noto Sans Myanmar`,`Noto Sans Thai`]),C=()=>r.getLogger(`esri.views.MapView`),w=(e,t=``)=>C().warnOnce(e,t);class T{constructor(){this._glyphSources=new Map,this._snapCoords=!0,this._currentPage=0,this._faces=new Map,this._facePromises=new Map,this._pbfRangePromises=new Map,this._glyphCache=new Map,this._pbfGlyphCache=new Map,this._invalidFonts=new Set,this._preloadCache={},this._glyphSDFCreator=new h({sdfSizePx:d,sdfBufferPx:u,radius:l,cutoff:.25})}set remoteClient(e){this._client=e.createInvokeProxy();let t=i(this._client.getOptions());this._inited=this._init(t)}async rasterizeText(e,t,n){await this._inited;let r=t.symbol?s(t):null;return r?{type:`rich-glyphs`,runs:(await Promise.all(r.map(async t=>({fontSize:t.fontSize,characterSpacing:t.characterSpacing,decoration:t.font.decoration,color:t.color,glyphs:await this._rasterizeTextRun(e,t.font,t.text,n)})))).filter(e=>e.glyphs!=null)}:this._rasterizeTextRun(e,t.font,t.textString,n)}async _rasterizeTextRun(e,t,r,i){let a=n(t),o=this._invalidFonts.has(a),s=!!has(`esri-2d-force-complex-shaping`),c=!!has(`esri-2d-complex-shaping`)&&x.test(r),l=S.has(t.family),u=s||c||l,d=o?b:a,f=await this.getGlyphItems(r,u,e,d,!1,i);return f||=(w(`Font ${a} is not available on the web, using "Arial Unicode MS Regular"`),this._invalidFonts.add(a),await this.getGlyphItems(r,u,e,b,!1,i)),f}async getGlyphItems(e,n,r,i,a,o){await this._inited;let s=this._getSource(r),c=n?d:m,h=n?l:p,g=n?u:f,_,v,y;if(has(`esri-2d-stabilize-glyphs`)&&await this.preloadASCIIGlyphCache(s,i).catch(()=>{}),n){let t=await this._getFace(s,i);if(!t)return null;let n=this._glyphCache.get(i);n||(n=new Map,this._glyphCache.set(i,n));let{shaping:r,isRTL:a}=this._shape(t,e);y=a,_=r.map(e=>this._getShapedGlyph(t,n,e)),v={baseline:t.baseline()/c,midline:t.midline()/c}}else{let n=this._pbfGlyphCache.get(i);n||(n=new Map,this._pbfGlyphCache.set(i,n));let[r,c,l]=t(e),u=k(r);try{await this._fetchRanges(s,i,u,o)}catch{return null}y=c,_=u.map(e=>this._getPBFGlyph(n,s,i,e,a)).filter(e=>!!e)}let b=_.filter(e=>e.needsRecord);return b.length>0&&await this._client.recordGlyphs(b),{type:`glyphs`,glyphs:_,faceInfo:v,isRightToLeft:y,sdfSize:c,sdfRadius:h,sdfPadding:g}}async _init(e){let t=await e;if(!t)return;let{width:n,height:r,snapCoords:i}=t;this._glyphCache=new Map,this._pbfGlyphCache=new Map,this._binPack=new y(n,r),this._snapCoords=i,this._currentPage=0,this._initDecorationGlyphs()}_getShapedGlyph(e,t,n){let r,i,a=t.get(n.glyphId);if(!a){r=this._glyphSDFCreator.draw(e,n.glyphId);let o=this._glyphSDFCreator.sdfBufferPx;a={mosaicItem:{rect:this._recordGlyph(r?.rect,o),page:this._currentPage,sdf:!0,textureBinding:_(1,this._currentPage,!0)},glyphRect:r?.rect??{width:0,height:0,top:0,left:0}},t.set(n.glyphId,a),i=!0}return{mosaicItem:a.mosaicItem,rect:a.glyphRect,shaping:{xAdvance:n.xAdvance,yAdvance:n.yAdvance,xOffset:n.xOffset,yOffset:n.yOffset},code:n.isNewline?10:n.isWhitespace?32:NaN,sdf:r,needsRecord:i}}_getPBFGlyph(e,t,n,r,i=!1){let a,o,s=e.get(r);if(!s){let c=t.getRange(n,r),l=c?.getRect(r),d=c?.getShaping(r),f=c?.getBitmap(r);if(i&&(!l||!d))return;if(!l||!d)return O(r);let p={rect:f?this._recordGlyph(l,u):new v(0,0,0,0),sdf:!0,page:this._currentPage,textureBinding:_(1,this._currentPage,!0)};a=f&&{buffer:f,rect:l},s={mosaicItem:p,rect:l,shaping:d,code:r},o=!0,e.set(r,s)}let{mosaicItem:c,rect:l,shaping:d}=s;return{mosaicItem:c,rect:l,shaping:d,code:r,sdf:a,needsRecord:o}}_shape(e,n){let r=this._glyphSDFCreator.sdfSizePx,[i,a,o]=t(n,!1),s=new Uint32Array(Array.from(i).map((e,t)=>o.levels[o.targetToSource[t]]));return{shaping:e.shape(i,s,r),isRTL:a}}async _getFace(t,n,r){if(this._faces.has(n))return this._faces.get(n);let i=t.woffURL(n);return await D(this._facePromises,n,async()=>{let t=await e(i,{responseType:`array-buffer`,...r}),a=(await o()).Face.parseWoff2(new Uint8Array(t.data));this._faces.set(n,a)}),this._faces.get(n)}_getSource(e){return this._glyphSources.has(e)||this._glyphSources.set(e,new g(e)),this._glyphSources.get(e)}async _fetchRanges(e,t,n,r){let i=E(n),a=[];i.forEach(n=>{a.push(this._fetchRange(e,t,n,r))}),await Promise.all(a)}async _fetchRange(e,t,n,r){if(n>256)return;let i=t+n;return D(this._pbfRangePromises,i,()=>e.fetchRange(t,n,r))}_allocNewPage(){this._currentPage++,this._binPack=new y(this._binPack.width,this._binPack.height),this._initDecorationGlyphs()}_recordGlyph(e,t){let n=this._binPack;if(!e||e.width===0)return new v;let r=e.width+t*2,i=e.height+t*2,a=r,o=i;if(this._snapCoords){let e=r%4?4-r%4:4,t=i%4?4-i%4:4;a+=e,o+=t}let s=n.allocate(a,o);return s.isEmpty?(this._allocNewPage(),n.allocate(a,o)):s}_initDecorationGlyphs(){this._recordGlyph(c,f),this._recordGlyph(c,f)}preloadASCIIGlyphCache(e,t){let n=this._preloadCache[t];if(n!=null)return n;let r=e.preloadASCIIRange(t).then(async()=>{let n=this._pbfGlyphCache.get(t);n||(n=new Map,this._pbfGlyphCache.set(t,n));let r=[];for(let i=0;i<256;i++){let a=this._getPBFGlyph(n,e,t,i);a?.needsRecord&&r.push(a)}await this._client.recordGlyphs(r)},e=>{throw delete this._preloadCache[t],e});return this._preloadCache[t]=r,r}}function E(e){let t=new Set;for(let n of e)t.add(Math.floor(n/256));return t}function D(e,t,n){return e.has(t)||e.set(t,n().finally(()=>{e.delete(t)}).catch(e=>{a(e)})),e.get(t)}const O=e=>({mosaicItem:{rect:new v(0,0,0,0),sdf:!0,page:0,textureBinding:_(1,0,!0)},rect:{left:0,width:0,height:0,top:0},shaping:{xAdvance:0,yAdvance:0,xOffset:0,yOffset:0},code:e,needsRecord:!0});function k(e){let t=[];for(let n=0;n<e.length;n++)t.push(e.charCodeAt(n));return t}export{T as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../../../config.js";import has from"../../../../core/has.js";import{destroyMaybe as t}from"../../../../core/maybe.js";import{notDeepEqual as n}from"../../../../core/object.js";import{throwIfAborted as r,after as i}from"../../../../core/promiseUtils.js";import{diff as a}from"../../../../core/accessorSupport/diffUtils.js";import{ignoreConnectionErrors as o}from"../../../../core/workers/utils.js";import{openWithPorts as s}from"../../../../core/workers/workers.js";import{normalizeTransform as c,quantizeX as l,quantizeY as u}from"../../../../geometry/support/quantizationUtils.js";import{checkProjectionSupport as d}from"../../../../layers/graphics/data/projectionSupport.js";import{MultiTileMeshData as f}from"../../engine/webgl/mesh/MultiTileMeshData.js";import{FeatureMeshFactory as p}from"../../engine/webgl/mesh/factories/FeatureMeshFactory.js";import{ResourceProxy as m}from"../../engine/webgl/mesh/factories/ResourceProxy.js";import{MeshWriterRegistry as h}from"../../engine/webgl/shaderGraph/techniques/mesh/MeshWriterRegistry.js";import{MatcherContext as g}from"../../engine/webgl/util/MatcherContext.js";import{createAggregateStrategy as _}from"./processor/createAggregateStrategy.js";import{AttributeStore as v}from"./support/AttributeStore.js";import{ComputedAttributeStorage as y}from"./support/ComputedAttributeStorage.js";class b{constructor(t,n){this._connection=t,this._source=n,this._version=1,this._registry=new h;let r={fetch:(e,t)=>this._connection.layerView.fetch(e,t),fetchDictionary:(e,t)=>this._connection.layerView.fetchDictionary(e,t),fetchMesh:(e,t)=>this._connection.layerView.fetchMesh(e,t)},i={fetchGlyphs:async(t,n)=>{let r=[];if(await this._loaded,this._glyphProxy){let i=`${e.fontsUrl}/{fontstack}/{range}.pbf`;for(let e of t)r.push(this._glyphProxy.rasterizeText(i,e,n))}else console.error(`Failed to fetch glyphs from worker: proxy not created`);return Promise.all(r)}};this._proxy=new m(r,i),this._attributeStore=new v({isLocal:!1,update:e=>o(this._connection.container.updateAttributeView(e))}),this._loaded=this._load(t)}destroy(){this._proxy.destroy(),this._strategy?.destroy(),this._attributeStore.destroy(),this._loaded.finally(()=>{this._glyphClient?.close(),this._glyphClient=null,this._glyphPorts?.forEach(e=>e.close())})}get hasClusters(){return this._schema?.mesh.strategy.type===`cluster`}get aggregateQueryEngine(){return this._strategy?.aggregateQueryEngine}get usedMemory(){let e=0;return e+=this._attributeStore.usedMemory,this._strategy&&(e+=this._strategy.usedMemory),e}get version(){return this._version}getDisplayFeatures(e){return this._strategy?this._strategy.getDisplayFeatures(e):{features:[],aggregates:[],tracks:[]}}getDisplayIds(e){return this._strategy?this._strategy.getDisplayIds(e):{}}getFeatureObjectIdsForAggregate(e){return this._strategy?this._strategy.getFeatureObjectIdsForAggregate(e):[]}onSubscribe(e){this._strategy?.onSubscribe(e)}onUnsubscribe(e){this._strategy?.onUnsubscribe(e)}requiresInvalidation(e){return this._strategy?.requiresInvalidation(e)??!1}async update(e,t,r,i,o){let s=e.processor,c=n(this._schema?.storage,s.storage),l=n(this._schema?.mesh.properties,s.mesh.properties),u=n(this._schema?.mesh.factory,s.mesh.factory),f=n(this._schema?.mesh.strategy,s.mesh.strategy),m=x(this._schema?.expressionProperties,s.expressionProperties),
|
|
2
|
+
import e from"../../../../config.js";import has from"../../../../core/has.js";import{destroyMaybe as t}from"../../../../core/maybe.js";import{notDeepEqual as n}from"../../../../core/object.js";import{throwIfAborted as r,after as i}from"../../../../core/promiseUtils.js";import{diff as a}from"../../../../core/accessorSupport/diffUtils.js";import{ignoreConnectionErrors as o}from"../../../../core/workers/utils.js";import{openWithPorts as s}from"../../../../core/workers/workers.js";import{normalizeTransform as c,quantizeX as l,quantizeY as u}from"../../../../geometry/support/quantizationUtils.js";import{checkProjectionSupport as d}from"../../../../layers/graphics/data/projectionSupport.js";import{MultiTileMeshData as f}from"../../engine/webgl/mesh/MultiTileMeshData.js";import{FeatureMeshFactory as p}from"../../engine/webgl/mesh/factories/FeatureMeshFactory.js";import{ResourceProxy as m}from"../../engine/webgl/mesh/factories/ResourceProxy.js";import{MeshWriterRegistry as h}from"../../engine/webgl/shaderGraph/techniques/mesh/MeshWriterRegistry.js";import{MatcherContext as g}from"../../engine/webgl/util/MatcherContext.js";import{createAggregateStrategy as _}from"./processor/createAggregateStrategy.js";import{AttributeStore as v}from"./support/AttributeStore.js";import{ComputedAttributeStorage as y}from"./support/ComputedAttributeStorage.js";class b{constructor(t,n){this._connection=t,this._source=n,this._version=1,this._registry=new h;let r={fetch:(e,t)=>this._connection.layerView.fetch(e,t),fetchDictionary:(e,t)=>this._connection.layerView.fetchDictionary(e,t),fetchMesh:(e,t)=>this._connection.layerView.fetchMesh(e,t)},i={fetchGlyphs:async(t,n)=>{let r=[];if(await this._loaded,this._glyphProxy){let i=`${e.fontsUrl}/{fontstack}/{range}.pbf`;for(let e of t)r.push(this._glyphProxy.rasterizeText(i,e,n))}else console.error(`Failed to fetch glyphs from worker: proxy not created`);return Promise.all(r)}};this._proxy=new m(r,i),this._attributeStore=new v({isLocal:!1,update:e=>o(this._connection.container.updateAttributeView(e))}),this._loaded=this._load(t)}destroy(){this._proxy.destroy(),this._strategy?.destroy(),this._attributeStore.destroy(),this._loaded.finally(()=>{this._glyphClient?.close(),this._glyphClient=null,this._glyphPorts?.forEach(e=>e.close())})}get hasClusters(){return this._schema?.mesh.strategy.type===`cluster`}get aggregateQueryEngine(){return this._strategy?.aggregateQueryEngine}get usedMemory(){let e=0;return e+=this._attributeStore.usedMemory,this._strategy&&(e+=this._strategy.usedMemory),e}get version(){return this._version}getDisplayFeatures(e){return this._strategy?this._strategy.getDisplayFeatures(e):{features:[],aggregates:[],tracks:[]}}getDisplayIds(e){return this._strategy?this._strategy.getDisplayIds(e):{}}getFeatureObjectIdsForAggregate(e){return this._strategy?this._strategy.getFeatureObjectIdsForAggregate(e):[]}onSubscribe(e){this._strategy?.onSubscribe(e)}onUnsubscribe(e){this._strategy?.onUnsubscribe(e)}requiresInvalidation(e){return this._strategy?.requiresInvalidation(e)??!1}async update(e,t,r,i,o){let s=e.processor,c=n(this._schema?.storage,s.storage),l=n(this._schema?.mesh.properties,s.mesh.properties),u=n(this._schema?.mesh.factory,s.mesh.factory),f=n(this._schema?.mesh.strategy,s.mesh.strategy),m=this._schema?.mesh.properties.timeZone!==s.mesh.properties.timeZone,h=this._schema?.mesh.properties.currentUser!==s.mesh.properties.currentUser,_=x(this._schema?.expressionProperties,s.expressionProperties),v=_.some(e=>this._attributeStore.hasArcadeDependency(e)),b=_.some(e=>this._factory?.hasArcadeDependency(e)??!1),C=_.some(e=>this._strategy?.hasArcadeDependency(e))||this._strategy?.isAggregate&&v,w=b||C,T=b||v||C,E=l||u||f;if(!(c||E||T)&&!i)return!1;if(has(`esri-2d-update-debug`)&&console.debug(`Version[${this._version}] SymbolProcessor.update`,{changes:a(this._schema,s),schema:s}),this._schema=s,s.mesh.factory.symbology.type===`annotation-feature`||s.mesh.factory.symbology.type===`dimension-feature`){let e=this._source.metadata.outSpatialReference,t=this._source.metadata.attributeSpatialReference??this._source.metadata.spatialReference??e;await d(t,e)}let D=new y({fields:this._source.metadata.fieldsIndex,spatialReference:this._source.metadata.outSpatialReference}),O={currentUser:s.mesh.properties.currentUser};if((c||E||v)&&(await this._attributeStore.update(s.storage,D,this._source.metadata,t,{dependencies:_,timeZoneChanged:m,currentUserChanged:h}),this._strategy?.invalidateAttributeData(S(s))),!i&&!E&&!w)return!1;(f||l||w)&&await this._updateStrategy(s.mesh.strategy,o,S(s),O),this._updateSortKey(D,`sortKey`in s.mesh.properties?s.mesh.properties.sortKey:null);let k=s.mesh.factory.symbology.type===`dictionary`?s.mesh.factory.symbology.fieldMap:null,A=new g(D,this._proxy,r,this._registry,k);return(u||s.mesh.factory.symbology.type===`dictionary`)&&(this._factory=await p.create(A,s.mesh.factory)),this._version=t,!0}async applyOverrideUpdate(e,t){if(this._strategy)try{let n=await this._strategy.applyOverrideUpdate(e);n&&await this._process(n,t)}catch{}}async updateChunks(e,t,n){await this._doUpdateChunks(e,t,n),this._strategy?.afterUpdateChunks()}async removeChunks(e){this._strategy?.removeChunks(e),this._attributeStore.incrementDisplayIdGeneration()}invalidate(){this._strategy&&this._strategy.invalidate()}async _load(e){this._glyphPorts=await e.layerView.openGlyphPorts(),this._glyphClient=await s(this._glyphPorts,{maxNumberOfConcurrentJobs:20}),this._glyphProxy=this._glyphClient.createInvokeProxy()}async _doUpdateChunks(e,t,n){if(this._strategy){try{let r=await this._strategy.updateChunks(e,t);r&&await this._process(r,n)}catch{}has(`esri-2d-update-debug`)&&console.log(`SendUpdates`),this._attributeStore.sendUpdates(),has(`esri-2d-update-debug`)&&console.log(`SendUpdates.await`)}}async _updateStrategy(e,t,n,r){this._strategy?.destroy(),this._strategy=await _(this._connection,e,this._source,this._attributeStore,n,r);for(let e of t)this._strategy.onSubscribe(e)}async _updateSortKey(e,n){if(this._sortInfo=t(this._sortInfo?.computed),n!=null){let t=n.byRenderer?null:await e.createComputedField(n);this._sortInfo={...n,computed:t}}}async _process(e,t){switch(e.type){case`level-replace`:return this._processLevelBatch(e,t);case`append`:case`update`:return this._processStandardBatch(e,t)}}async _processLevelBatch(e,t){let n=await this._connection.container.beginLevelMeshUpdate(e.level);await this._processBatchMessages(e.messages,t),await this._connection.container.applyLevelMeshUpdate(n)}async _processStandardBatch(e,t){return this._processBatchMessages(e.messages,t)}async _processBatchMessages(e,t){for(let n of e){let e=n.subscription;if(has(`esri-2d-update-debug`)){let t=e.tile;console.debug(`Version[${this._version}] Tile[${t.key.id}, end=${n.end}] Processor._process`)}let i={currentUser:this._schema?.mesh.properties.currentUser};await this._fetchResources(n,i),r(e.signal);let a=await this._write(n,e.tile.createArcadeEvaluationOptions(S(this._schema)),i,t),o=e.tile.tileInfoView.getLODInfoAt(e.tile.key);r(e.signal);let{message:s,transferList:c}=a.serialize(o),l={objectIdMap:null,inner:n.createMessage(s,this._version,this._attributeStore.epoch)};if(this._schema?.mesh.properties.returnMeshObjectId){l.objectIdMap={};let e=n.reader?.getCursor();if(e)for(;e.next();)l.objectIdMap[e.getDisplayId()]=e.getObjectId()}if(r(e.signal),await this._connection.container.onMessage(l,{signal:e.signal,transferList:c}),this._attributeStore.sendUpdates(),has(`esri-2d-update-debug`)){let t=e.tile;console.debug(`Version[${this._version}] Tile[${t.key.id}, end=${n.end}] Processor._process.await`)}}}async _fetchResources(e,t){await this._loaded,await this._fetchMatcherResources(e),await this._fetchWriterResources(e,t)}async _fetchMatcherResources(e){if(!e.reader)return;let t=e.subscription.tile.createArcadeEvaluationOptions(S(this._schema));return this._factory.enqueueMatcherRequests(this._proxy,e.reader,{scale:t.$view.scale,viewingMode:`2d`},e.id)}async _fetchWriterResources(e,t){if(!e.reader)return;let n=e.reader.getCursor(),r=e.subscription.tile.createArcadeEvaluationOptions(S(this._schema));for(;n.next();)this._factory.enqueueWriterRequests(this._proxy,n,r,t,e.id);await this._proxy.fetchEnqueuedResources()}async _write(e,t,n,a){let o=e.subscription.tile,s=e.reader?.getCursor(),c=s?.getSize()??0,l=o.tileInfoView.tileInfo.isWrappable,u=o.tileInfoView.spatialReference.isWGS84,d=this._schema?.mesh.factory.referenceScale,p=new f(o.key,l,u,c);if(!s)return p;let m=C(o.transform,a),h=o.createArcadeEvaluationOptions(S(this._schema)),g=0;for(;s.next();){++g%1e3||(await i(0),r(e.subscription));let a=this._getSortKeyValue(s,t);p.entityStart(s.getDisplayId(),a);try{this._factory.write(p,this._proxy,s,h,n,o.level,m,d)}catch{}p.entityEnd()}return p}_getSortKeyValue(e,t){if(!this._sortInfo)return 0;let{computed:n,order:r,byRenderer:i}=this._sortInfo,a=i?this._factory.getSortKey(e,t):n?.read(e,t);return a==null||isNaN(a)?0:a*(r===`asc`?-1:1)}}function x(e,t){let n=[];return(e?.timeExtent?.start!==t.timeExtent?.start||e?.timeExtent?.end!==t.timeExtent?.end)&&n.push(`timeProperties`),n}function S(e){let{timeZone:t}=e?.mesh.properties??{},{timeExtent:n}=e?.expressionProperties??{};return{timeZone:t,timeExtent:n}}function C(e,t){let n=c(e),r=[];for(let e of t.rings){let t=[];for(let r of e)t.push([l(n,r[0]),u(n,r[1])]);r.push(t)}return{rings:r}}export{b as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{getOrCreateMapValue as e}from"../../../../../core/MapUtils.js";import{GeohashCell as t}from"../../../../../geohash/GeohashCell.js";import{GeohashTree as n}from"../../../../../geohash/GeohashTree.js";import{
|
|
2
|
+
import{getOrCreateMapValue as e}from"../../../../../core/MapUtils.js";import{GeohashCell as t}from"../../../../../geohash/GeohashCell.js";import{GeohashTree as n}from"../../../../../geohash/GeohashTree.js";import{getGeohashBounds as r,getGeohash as i}from"../../../../../geohash/geohashUtils.js";import{AAggregateSpatialIndex as a}from"./AAggregateSpatialIndex.js";import{createArcadeEvaluationOptions as o}from"../support/arcadeUtils.js";class s extends a{constructor(e,t){super(e),this._reader=t,this._tree=new n,this._insert(this._reader)}get usedMemory(){return this._tree.usedMemory}putBounded(n,i,a,s){let{arcadeContextInfo:c,scale:l,geohashLevel:u,spatialReference:d,fields:f}=this.options.inner,p=o(l,c),m=r(a,s,u,d);m!=null&&this._tree.forEachInBounds(m,r=>{let a=null;for(let o of r.indices){this._reader.setIndex(o);let s=this._reader.getObjectId();i.has(s)||(a??=e(n,r.id,()=>t.create(f,r.xNode,r.yNode,r.depth)),a.insert(this._reader,u,d,p),i.add(s))}})}_insert(e){let{featureFilter:t,sqlOptions:n,geohashLevel:r,spatialReference:a}=this.options.inner,o=e=>{let t=0,n=0;if(e.geometryType===`esriGeometryPoint`)t=e.readXWorldSpace(),n=e.readYWorldSpace();else{let r=e.readCentroidWorldSpace();if(r==null)return;[t,n]=r.coords}let o=i(t,n,r,a);o&&this._tree.insert(e,o[0],o[1],r)};if(t!==null)t.forEachMatch(e,n,o);else{let t=e.getCursor();for(;t.next();)o(t)}}}export{s as GeohashSpatialIndex};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{getOrCreateMapValue as e}from"../../../../../core/MapUtils.js";import{getMetersPerUnitForSR as t,inchesPerMeter as n}from"../../../../../core/units.js";import{AAggregateSpatialIndex as r}from"./AAggregateSpatialIndex.js";import{GridCell as i}from"./GridCell.js";import{GridIndexCell as a}from"./GridIndexCell.js";import{createArcadeEvaluationOptions as o}from"../support/arcadeUtils.js";function s(e,r){return t(e)*n*96/r}class c extends r{constructor(e,t){super(e),this._reader=t,this._cells=new Map,this._pixelsPerMapUnit=s(e.inner.spatialReference,e.inner.scale),this.
|
|
2
|
+
import{getOrCreateMapValue as e}from"../../../../../core/MapUtils.js";import{getMetersPerUnitForSR as t,inchesPerMeter as n}from"../../../../../core/units.js";import{AAggregateSpatialIndex as r}from"./AAggregateSpatialIndex.js";import{GridCell as i}from"./GridCell.js";import{GridIndexCell as a}from"./GridIndexCell.js";import{createArcadeEvaluationOptions as o}from"../support/arcadeUtils.js";function s(e,r){return t(e)*n*96/r}class c extends r{constructor(e,t){super(e),this._reader=t,this._cells=new Map,this._pixelsPerMapUnit=s(e.inner.spatialReference,e.inner.scale),this._insert(this._reader)}get _worldUnitsPerCell(){return this.options.inner.cellSize*1/this._pixelsPerMapUnit}get usedMemory(){return 0}put(t,n){let{arcadeContextInfo:r,scale:a,fields:s}=this.options.inner,c=o(a,r);this._cells.forEach(r=>{let a=null;for(let o of r._indices){this._reader.setIndex(o);let l=this._reader.getObjectId();n.has(l)||(a??=e(t,r.id,()=>i.create(r.gridX,r.gridY,s,this._worldUnitsPerCell)),a.insert(this._reader,c),n.add(l))}})}putBounded(t,n,r,a){let{arcadeContextInfo:s,scale:c,cellSize:l,fields:u}=this.options.inner,d=o(c,s),[f,p,m,h]=[r.xmin,r.ymin,r.xmax,r.ymax],g=Math.floor(f*this._pixelsPerMapUnit/l),_=Math.floor(p*this._pixelsPerMapUnit/l),v=Math.ceil(m*this._pixelsPerMapUnit/l),y=Math.ceil(h*this._pixelsPerMapUnit/l);for(let r=_;r<=y;r++)for(let a=g;a<=v;a++){let o=i.createId(a,r),s=this._cells.get(o);if(!s)continue;let c=null;for(let o of s._indices){this._reader.setIndex(o);let l=this._reader.getObjectId();n.has(l)||(c??=e(t,s.id,()=>i.create(a,r,u,this._worldUnitsPerCell)),c.insert(this._reader,d),n.add(l))}}}_insert(e){let{featureFilter:t,sqlOptions:n,cellSize:r}=this.options.inner,i=e=>{let t=0,n=0;if(e.geometryType===`esriGeometryPoint`)t=e.readXWorldSpace(),n=e.readYWorldSpace();else{let r=e.readCentroidWorldSpace();if(r==null)return;[t,n]=r.coords}let i=t*this._pixelsPerMapUnit,a=n*this._pixelsPerMapUnit,o=Math.floor(i/r),s=Math.floor(a/r);this._getCellOrCreate(o,s).push(e.getIndex())};if(t!==null)t.forEachMatch(e,n,i);else{let t=e.getCursor();for(;t.next();)i(t)}}_getCellOrCreate(e,t){let n=a.createId(e,t),r=this._cells.get(n);return r||(r=new a(e,t),this._cells.set(n,r)),r}}export{c as GridSpatialIndex,s as pixelsPerMapUnit};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{clone as e}from"../../../../../core/lang.js";import{isHostedAgolService as t}from"../../../../../layers/support/arcgisLayerUrl.js";import{getServiceGeometryType as n}from"./geometryUtils.js";import{createLabelVVEvaluator as r}from"./labelingUtils.js";import{ExceedsLimitCache as i}from"../schema/ExceedsLimitCache.js";import{createFeatureSourceSchema as a}from"../schema/SourceSchema.js";import{createServiceTimeSchema as o}from"../schema/TimeSchema.js";import{createSimpleProcessorSchema as s}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as c}from"../support/rendererUtils.js";class l{constructor(e){this.layer=e,this._cache=new i}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:r(this.layer.renderer)}}]}async createSourceSchema(e,t){let n=this._createServiceInfo(e);return a(n,null,{definitionExpression:this.layer.definitionExpression,returnZ:e.returnZ,returnM:e.returnM,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:this.layer.displayFilterInfo,customParameters:this.layer.customParameters,gdbVersion:null,historicMoment:null,postQueryFilter:null,timeExtent:this.layer.timeExtent,apiKey:this.layer.apiKey,sourceRefreshVersion:t,availableFields:e.availableFields,cache:this._cache})}createProcessorSchema(e,t,n){let{fields:r,geometryType:i,orderBy:a,objectIdField:o,renderer:c,labelingInfo:l,labelsVisible:u}=this.layer,d={featureReduction:null,labelingInfoSource:this.layer.id,fields:r
|
|
2
|
+
import{clone as e}from"../../../../../core/lang.js";import{isHostedAgolService as t}from"../../../../../layers/support/arcgisLayerUrl.js";import{getServiceGeometryType as n}from"./geometryUtils.js";import{createLabelVVEvaluator as r}from"./labelingUtils.js";import{ExceedsLimitCache as i}from"../schema/ExceedsLimitCache.js";import{createFeatureSourceSchema as a}from"../schema/SourceSchema.js";import{createServiceTimeSchema as o}from"../schema/TimeSchema.js";import{createSimpleProcessorSchema as s}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as c}from"../support/rendererUtils.js";class l{constructor(e){this.layer=e,this._cache=new i}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:r(this.layer.renderer)}}]}async createSourceSchema(e,t){let n=this._createServiceInfo(e);return a(n,null,{definitionExpression:this.layer.definitionExpression,returnZ:e.returnZ,returnM:e.returnM,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:this.layer.displayFilterInfo,customParameters:this.layer.customParameters,gdbVersion:null,historicMoment:null,postQueryFilter:null,timeExtent:this.layer.timeExtent,apiKey:this.layer.apiKey,sourceRefreshVersion:t,availableFields:e.availableFields,cache:this._cache})}createProcessorSchema(e,t,n){let{fields:r,geometryType:i,orderBy:a,objectIdField:o,renderer:c,labelingInfo:l,labelsVisible:u}=this.layer,d={featureReduction:null,labelingInfoSource:this.layer.id,fields:r,geometryType:i,labelingInfo:l,labelsVisible:u,objectIdField:o,orderBy:a??`default`,renderer:c};return s(e,t,d,n)}get hasRequiredSupport(){return c(this.layer.renderer)}get timeOptions(){return this.layer}getUpdateHashProperties(e){return[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>this.layer.definitionExpression,()=>this.layer.outFields,()=>this.layer.renderer,()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>this.layer.orderBy]}getRenderer(){return this.layer.renderer}setGraphicOrigin(e){e.origin=this.layer.graphicOrigin}_createServiceInfo(r){let i=this.layer,{capabilities:a,editingInfo:s,objectIdField:c,globalIdField:l,datesInUnknownTimezone:u,dateFieldsTimeZone:d,orderBy:f,parsedUrl:p,hasZ:m,hasM:h}=i,g=i.fieldsIndex.toJSON(),_=n(i),v=o(i.timeInfo),y=i.spatialReference.toJSON(),b=e(p),x=c;if(f?.length){let e=!f[0].valueExpression&&f[0].field;e&&(x=e)}let S=t(b.path),C=r.spatialReference.toJSON();return{type:`feature-service`,source:b,isSourceHosted:S,orderByFields:x,outSpatialReference:C,metadata:{timeReferenceUnknownClient:u,dateFieldsTimeZone:d,globalIdField:l,fieldsIndex:g,geometryType:_,hasZ:m??!1,hasM:h??!1,featureIdInfo:{type:`object-id`,fieldName:c},timeInfo:v,spatialReference:y,outSpatialReference:C,attributeSpatialReference:null,subtypeField:null,subtypes:null,typeIdField:null,types:null},queryMetadata:{supportsCacheHint:a.query.supportsCacheHint,maxRecordCount:a.query.maxRecordCount,tileMaxRecordCount:a.query.tileMaxRecordCount,supportsCompactGeometry:a.query.supportsCompactGeometry,supportsDefaultSpatialReference:a.query.supportsDefaultSpatialReference,supportsFormatPBF:a.query.supportsFormatPBF,supportsMaxRecordCountFactor:a.query.supportsMaxRecordCountFactor,supportsQuantization:a.query.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:a.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:a.query.supportsDegeneratedQuantizedGeometry,supportsReturnExceededLimitGeometries:a.query.supportsReturnExceededLimitGeometries,lastEditDate:s?.lastEditDate?.getTime()}}}}export{l as CatalogFootprintLayerAdapter};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{clone as e}from"../../../../../core/lang.js";import{sqlAnd as t}from"../../../../../core/sql.js";import{isHostedAgolService as n}from"../../../../../layers/support/arcgisLayerUrl.js";import{canConvertSqlRelativeTime as r,sqlRelativeTimeToAbsolute as i}from"../../../../../layers/support/relativeTimeQueryUtils.js";import{getUtilityNetworkFields as a}from"../../../../../networks/support/networkFieldUtils.js";import{getEffectiveFeatureReduction as o}from"./featureReductionUtils.js";import{createFeatureIdInfo as s}from"./featureServiceUtils.js";import{addFloorFilter as c,hasFloorFilter as l}from"./floorFilterUtils.js";import{getServiceGeometryType as u}from"./geometryUtils.js";import{createLabelVVEvaluator as d}from"./labelingUtils.js";import{ExceedsLimitCache as f}from"../schema/ExceedsLimitCache.js";import{createSnapshotInfo as p,createFeatureSourceSchema as m}from"../schema/SourceSchema.js";import{createServiceTimeSchema as h}from"../schema/TimeSchema.js";import{createSimpleProcessorSchema as g}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as _}from"../support/rendererUtils.js";class v{constructor(e){this.layer=e,this._cache=new f}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:d(this.layer.renderer)}}]}async createSourceSchema(e,n){let a=this._createServiceInfo(e),o=this.layer.editingInfo?.lastEditDate!=null,s=this.layer.refreshInterval>0,c=!o&&s,l=p(a.isSourceHosted,c,this.layer.capabilities,a.metadata.geometryType,e.extent,this.layer.fullExtent),u=this.layer.subtypeCode==null?null:`${this.layer.subtypeField} = ${this.layer.subtypeCode}`,d=t(this.layer.definitionExpression,u),f=r(d)?await i(this.layer.fieldsIndex,d,this.layer.capabilities.query.relativeTimeBinWindow):d,h=d===f?null:{where:d},{gdbVersion:g,apiKey:_,historicMoment:v,timeExtent:y,customParameters:b,displayFilterInfo:x}=this.layer;return m(a,l,{definitionExpression:f,returnZ:e.returnZ,returnM:e.returnM,postQueryFilter:h,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:x,customParameters:b,gdbVersion:g,historicMoment:v,timeExtent:y,apiKey:_,sourceRefreshVersion:n,availableFields:e.availableFields,cache:this._cache})}createProcessorSchema(e,t,n){let{fields:r,renderer:i,geometryType:a,labelingInfo:s,labelsVisible:c,orderBy:l,objectIdField:u,trackInfo:d,symbolLayerDrawing:f}=this.layer,p={fields:r
|
|
2
|
+
import{clone as e}from"../../../../../core/lang.js";import{sqlAnd as t}from"../../../../../core/sql.js";import{isHostedAgolService as n}from"../../../../../layers/support/arcgisLayerUrl.js";import{canConvertSqlRelativeTime as r,sqlRelativeTimeToAbsolute as i}from"../../../../../layers/support/relativeTimeQueryUtils.js";import{getUtilityNetworkFields as a}from"../../../../../networks/support/networkFieldUtils.js";import{getEffectiveFeatureReduction as o}from"./featureReductionUtils.js";import{createFeatureIdInfo as s}from"./featureServiceUtils.js";import{addFloorFilter as c,hasFloorFilter as l}from"./floorFilterUtils.js";import{getServiceGeometryType as u}from"./geometryUtils.js";import{createLabelVVEvaluator as d}from"./labelingUtils.js";import{ExceedsLimitCache as f}from"../schema/ExceedsLimitCache.js";import{createSnapshotInfo as p,createFeatureSourceSchema as m}from"../schema/SourceSchema.js";import{createServiceTimeSchema as h}from"../schema/TimeSchema.js";import{createSimpleProcessorSchema as g}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as _}from"../support/rendererUtils.js";class v{constructor(e){this.layer=e,this._cache=new f}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:d(this.layer.renderer)}}]}async createSourceSchema(e,n){let a=this._createServiceInfo(e),o=this.layer.editingInfo?.lastEditDate!=null,s=this.layer.refreshInterval>0,c=!o&&s,l=p(a.isSourceHosted,c,this.layer.capabilities,a.metadata.geometryType,e.extent,this.layer.fullExtent),u=this.layer.subtypeCode==null?null:`${this.layer.subtypeField} = ${this.layer.subtypeCode}`,d=t(this.layer.definitionExpression,u),f=r(d)?await i(this.layer.fieldsIndex,d,this.layer.capabilities.query.relativeTimeBinWindow):d,h=d===f?null:{where:d},{gdbVersion:g,apiKey:_,historicMoment:v,timeExtent:y,customParameters:b,displayFilterInfo:x}=this.layer;return m(a,l,{definitionExpression:f,returnZ:e.returnZ,returnM:e.returnM,postQueryFilter:h,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:x,customParameters:b,gdbVersion:g,historicMoment:v,timeExtent:y,apiKey:_,sourceRefreshVersion:n,availableFields:e.availableFields,cache:this._cache})}createProcessorSchema(e,t,n){let{fields:r,renderer:i,geometryType:a,labelingInfo:s,labelsVisible:c,orderBy:l,objectIdField:u,trackInfo:d,symbolLayerDrawing:f}=this.layer,p={fields:r,renderer:i,labelingInfoSource:this.layer.id,featureReduction:o(this.layer,t),geometryType:a,labelingInfo:s,labelsVisible:c,objectIdField:u,orderBy:l??`default`,trackInfo:d,symbolLayerDrawing:f};return g(e,t,p,n)}get hasRequiredSupport(){return _(this.layer.renderer)}get timeOptions(){return this.layer}addFilters(e,t){return c(this.layer,e,t)}getUpdateHashProperties(e){return this.layer.destroyed?[]:[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>this.layer.definitionExpression,()=>o(this.layer,e),()=>l(this.layer,e)?e.floors:null,()=>this.layer.gdbVersion,()=>this.layer.historicMoment,()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>this.layer.orderBy,()=>this.layer.outFields,()=>this.layer.renderer,()=>this.layer.subtypeCode,()=>this.layer.trackInfo,()=>this.layer.symbolLayerDrawing?.drawOrder,()=>this.layer.symbolLayerDrawing?.enabled,()=>e?.requiredFieldsOptions?.featureTitleFields&&this.layer.featureTitleFields,()=>e?.requiredFieldsOptions?.utilityNetworkFields&&a(e,this.layer)]}getRenderer(){return this.layer.renderer}setGraphicOrigin(e){e.origin=this.layer.graphicOrigin}setAggregateGraphicOrigin(e){e.origin=this.layer.aggregateGraphicOrigin}setTrackGraphicOrigin(e){e.origin=this.layer.trackGraphicOrigin}_createServiceInfo(t){let r=this.layer,{capabilities:i,editingInfo:a,typeIdField:o,globalIdField:c,datesInUnknownTimezone:l,dateFieldsTimeZone:d,orderBy:f,subtypeField:p}=r,m=r.fieldsIndex.toJSON(),g=u(r),{hasZ:_,hasM:v}=r,y=h(r.timeInfo),b=r.spatialReference.toJSON(),x=r.types?.map(e=>e.toJSON()),S=e(this.layer.parsedUrl);this.layer.dynamicDataSource&&(S.query={layer:JSON.stringify(this.layer.dynamicDataSource.toLayerSourceJSON())});let C=this.layer.objectIdField;if(f?.length){let e=!f[0].valueExpression&&f[0].field;e&&(C=e)}let w=n(S.path),T=t.spatialReference.toJSON();return{type:`feature-service`,source:S,isSourceHosted:w,orderByFields:C,outSpatialReference:T,metadata:{typeIdField:o??void 0,types:x,timeReferenceUnknownClient:l,dateFieldsTimeZone:d,subtypeField:p,globalIdField:c,fieldsIndex:m,geometryType:g,hasZ:_,hasM:v,featureIdInfo:s(r),timeInfo:y,spatialReference:b,outSpatialReference:T,attributeSpatialReference:null,subtypes:this.layer.subtypes?.map(e=>e.toJSON())},queryMetadata:{supportsCacheHint:i.query.supportsCacheHint,maxRecordCount:i.query.maxRecordCount,tileMaxRecordCount:i.query.tileMaxRecordCount,supportsCompactGeometry:i.query.supportsCompactGeometry,supportsDefaultSpatialReference:i.query.supportsDefaultSpatialReference,supportsFormatPBF:i.query.supportsFormatPBF,supportsMaxRecordCountFactor:i.query.supportsMaxRecordCountFactor,supportsQuantization:i.query.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:i.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:i.query.supportsDegeneratedQuantizedGeometry,supportsReturnExceededLimitGeometries:i.query.supportsReturnExceededLimitGeometries,lastEditDate:a?.lastEditDate?.getTime()}}}}export{v as FeatureLayerAdapter};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../../../../core/Error.js";import{hasTimeOptions as t}from"../../../../../layers/support/timeSupport.js";import{getEffectiveFeatureReduction as n}from"./featureReductionUtils.js";import{createFeatureIdInfo as r}from"./featureServiceUtils.js";import{getServiceGeometryType as i}from"./geometryUtils.js";import{createLabelVVEvaluator as a}from"./labelingUtils.js";import{ExceedsLimitCache as o}from"../schema/ExceedsLimitCache.js";import{createFeatureSourceSchema as s}from"../schema/SourceSchema.js";import{createServiceTimeSchema as c}from"../schema/TimeSchema.js";import{createSimpleProcessorSchema as l}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as u}from"../support/rendererUtils.js";function d(t){if(!(`openPorts`in t))throw new e(`featurelayer:source-not-supported`,`source is not supported`)}class f{constructor(e){this.layer=e,this._cache=new o}openMessagePorts(){return d(this.layer.source),this.layer.source.openPorts()}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:a(this.layer.renderer)}}]}async createSourceSchema(e,t){let n=this._createServiceInfo(e);return s(n,null,{definitionExpression:this.layer.definitionExpression,returnZ:e.returnZ,returnM:e.returnM,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:this.layer.displayFilterInfo,customParameters:this.layer.customParameters,gdbVersion:null,historicMoment:null,timeExtent:`timeExtent`in this.layer?this.layer.timeExtent:null,apiKey:null,sourceRefreshVersion:t,availableFields:e.availableFields,cache:this._cache,postQueryFilter:null})}createProcessorSchema(e,t,r){let{fields:i,renderer:a,geometryType:o,labelingInfo:s,labelsVisible:c,orderBy:u,objectIdField:d}=this.layer,f=`trackInfo`in this.layer?this.layer.trackInfo:null,p={fields:i
|
|
2
|
+
import e from"../../../../../core/Error.js";import{hasTimeOptions as t}from"../../../../../layers/support/timeSupport.js";import{getEffectiveFeatureReduction as n}from"./featureReductionUtils.js";import{createFeatureIdInfo as r}from"./featureServiceUtils.js";import{getServiceGeometryType as i}from"./geometryUtils.js";import{createLabelVVEvaluator as a}from"./labelingUtils.js";import{ExceedsLimitCache as o}from"../schema/ExceedsLimitCache.js";import{createFeatureSourceSchema as s}from"../schema/SourceSchema.js";import{createServiceTimeSchema as c}from"../schema/TimeSchema.js";import{createSimpleProcessorSchema as l}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as u}from"../support/rendererUtils.js";function d(t){if(!(`openPorts`in t))throw new e(`featurelayer:source-not-supported`,`source is not supported`)}class f{constructor(e){this.layer=e,this._cache=new o}openMessagePorts(){return d(this.layer.source),this.layer.source.openPorts()}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:a(this.layer.renderer)}}]}async createSourceSchema(e,t){let n=this._createServiceInfo(e);return s(n,null,{definitionExpression:this.layer.definitionExpression,returnZ:e.returnZ,returnM:e.returnM,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:this.layer.displayFilterInfo,customParameters:this.layer.customParameters,gdbVersion:null,historicMoment:null,timeExtent:`timeExtent`in this.layer?this.layer.timeExtent:null,apiKey:null,sourceRefreshVersion:t,availableFields:e.availableFields,cache:this._cache,postQueryFilter:null})}createProcessorSchema(e,t,r){let{fields:i,renderer:a,geometryType:o,labelingInfo:s,labelsVisible:c,orderBy:u,objectIdField:d}=this.layer,f=`trackInfo`in this.layer?this.layer.trackInfo:null,p={fields:i,renderer:a,labelingInfoSource:this.layer.id,featureReduction:n(this.layer,t),geometryType:o,labelingInfo:s,labelsVisible:c,objectIdField:d,orderBy:u??`default`,trackInfo:f};return l(e,t,p,r)}get hasRequiredSupport(){return u(this.layer.renderer)}get timeOptions(){return t(this.layer)?this.layer:null}getUpdateHashProperties(e){return[()=>this.layer.definitionExpression,()=>this.layer.displayFilterInfo,()=>this.layer.orderBy,()=>`outFields`in this.layer?this.layer.outFields:null,()=>this.layer.renderer,()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>n(this.layer,e),()=>`trackInfo`in this.layer?this.layer.trackInfo:null]}setGraphicOrigin(e){e.origin=this.layer.graphicOrigin}setAggregateGraphicOrigin(e){e.origin=this.layer.aggregateGraphicOrigin}setTrackGraphicOrigin(e){`trackGraphicOrigin`in this.layer&&(e.origin=this.layer.trackGraphicOrigin)}getRenderer(){return this.layer.renderer}_createServiceInfo(e){let t=this.layer,{capabilities:n,objectIdField:a}=t,o=t.fieldsIndex.toJSON(),s=i(t),l=`timeInfo`in t?c(t.timeInfo):null,u=t.spatialReference.toJSON();d(t.source);let f=a,p=e.spatialReference.toJSON();return{type:`memory`,orderByFields:f,outSpatialReference:p,metadata:{fieldsIndex:o,geometryType:s,featureIdInfo:r(t),hasZ:`hasZ`in t&&t.hasZ,hasM:`hasM`in t&&t.hasM,timeInfo:l,spatialReference:u,outSpatialReference:p,attributeSpatialReference:null,subtypes:null,subtypeField:null,globalIdField:null,typeIdField:null,types:null,timeReferenceUnknownClient:`datesInUnknownTimezone`in t?t.datesInUnknownTimezone:null,dateFieldsTimeZone:`dateFieldsTimeZone`in t?t.dateFieldsTimeZone:null},queryMetadata:{supportsCacheHint:n.query.supportsCacheHint,maxRecordCount:n.query.maxRecordCount,tileMaxRecordCount:n.query.tileMaxRecordCount,supportsCompactGeometry:n.query.supportsCompactGeometry,supportsDefaultSpatialReference:n.query.supportsDefaultSpatialReference,supportsFormatPBF:n.query.supportsFormatPBF,supportsMaxRecordCountFactor:n.query.supportsMaxRecordCountFactor,supportsQuantization:n.query.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:n.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:n.query.supportsDegeneratedQuantizedGeometry,supportsReturnExceededLimitGeometries:n.query.supportsReturnExceededLimitGeometries,lastEditDate:null}}}}export{f as InMemoryLayerAdapter};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{sqlAnd as e}from"../../../../../core/sql.js";import{systemIsSpatialFieldName as t}from"../../../../../layers/knowledgeGraph/constants.js";import n from"../../../../../layers/support/FeatureFilter.js";import{getEffectiveFeatureReduction as r}from"./featureReductionUtils.js";import{getServiceGeometryType as i}from"./geometryUtils.js";import{createLabelVVEvaluator as a}from"./labelingUtils.js";import{ExceedsLimitCache as o}from"../schema/ExceedsLimitCache.js";import{createFeatureSourceSchema as s}from"../schema/SourceSchema.js";import{createServiceTimeSchema as c}from"../schema/TimeSchema.js";import{createSimpleProcessorSchema as l}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as u}from"../support/rendererUtils.js";class d{constructor(e){this.layer=e,this._cache=new o}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:a(this.layer.renderer)}}]}async createSourceSchema(e,t){let n=this._createServiceInfo(e);return s(n,null,{definitionExpression:this.layer.definitionExpression,returnZ:e.returnZ,returnM:e.returnM,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:this.layer.displayFilterInfo,customParameters:null,gdbVersion:null,historicMoment:null,timeExtent:this.layer.timeExtent,apiKey:null,sourceRefreshVersion:t,availableFields:e.availableFields,cache:this._cache,postQueryFilter:null})}createProcessorSchema(e,t,n){let{fields:i,renderer:a,geometryType:o,labelingInfo:s,labelsVisible:c,objectIdField:u}=this.layer,d={fields:i
|
|
2
|
+
import{sqlAnd as e}from"../../../../../core/sql.js";import{systemIsSpatialFieldName as t}from"../../../../../layers/knowledgeGraph/constants.js";import n from"../../../../../layers/support/FeatureFilter.js";import{getEffectiveFeatureReduction as r}from"./featureReductionUtils.js";import{getServiceGeometryType as i}from"./geometryUtils.js";import{createLabelVVEvaluator as a}from"./labelingUtils.js";import{ExceedsLimitCache as o}from"../schema/ExceedsLimitCache.js";import{createFeatureSourceSchema as s}from"../schema/SourceSchema.js";import{createServiceTimeSchema as c}from"../schema/TimeSchema.js";import{createSimpleProcessorSchema as l}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as u}from"../support/rendererUtils.js";class d{constructor(e){this.layer=e,this._cache=new o}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:a(this.layer.renderer)}}]}async createSourceSchema(e,t){let n=this._createServiceInfo(e);return s(n,null,{definitionExpression:this.layer.definitionExpression,returnZ:e.returnZ,returnM:e.returnM,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:this.layer.displayFilterInfo,customParameters:null,gdbVersion:null,historicMoment:null,timeExtent:this.layer.timeExtent,apiKey:null,sourceRefreshVersion:t,availableFields:e.availableFields,cache:this._cache,postQueryFilter:null})}createProcessorSchema(e,t,n){let{fields:i,renderer:a,geometryType:o,labelingInfo:s,labelsVisible:c,objectIdField:u}=this.layer,d={fields:i,renderer:a,labelingInfoSource:this.layer.id,featureReduction:r(this.layer,t),geometryType:o,labelingInfo:s,labelsVisible:c,objectIdField:u,orderBy:`default`};return l(e,t,d,n)}get hasRequiredSupport(){return u(this.layer.renderer)}get timeOptions(){return this.layer}getUpdateHashProperties(e){return[()=>this.layer.definitionExpression,()=>this.layer.renderer,()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>r(this.layer,e),()=>this.layer.parentCompositeLayer!=null&&f(this.layer.parentCompositeLayer)]}getRenderer(){return this.layer.renderer}hasFilters(e){return this.layer.parentCompositeLayer!=null&&f(this.layer.parentCompositeLayer)}addFilters(r,i){if(this.layer.parentCompositeLayer!=null&&f(this.layer.parentCompositeLayer)){let i=e(r?.where,`${t}=1`);if(!i)return r;r??=new n,r.where=i}return r}setGraphicOrigin(e){e.origin=this.layer.graphicOrigin}setAggregateGraphicOrigin(e){e.origin=this.layer.aggregateGraphicOrigin}openMessagePorts(){return this.layer.source.openPorts()}_createServiceInfo(e){let t=this.layer,{capabilities:n,objectIdField:r}=t,a=t.fieldsIndex.toJSON(),o=i(t),s=t.spatialReference.toJSON(),l=r,u=e.spatialReference.toJSON();return{type:`memory`,orderByFields:l,outSpatialReference:u,metadata:{fieldsIndex:a,geometryType:o,hasZ:this.layer.hasZ,hasM:this.layer.hasM,featureIdInfo:{type:`object-id`,fieldName:t.objectIdField},spatialReference:s,outSpatialReference:u,attributeSpatialReference:null,globalIdField:null,subtypeField:null,subtypes:null,timeInfo:c(t.timeInfo),timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null,types:null},queryMetadata:{supportsCacheHint:n.query.supportsCacheHint,maxRecordCount:n.query.maxRecordCount,tileMaxRecordCount:n.query.tileMaxRecordCount,supportsCompactGeometry:n.query.supportsCompactGeometry,supportsDefaultSpatialReference:n.query.supportsDefaultSpatialReference,supportsFormatPBF:n.query.supportsFormatPBF,supportsMaxRecordCountFactor:n.query.supportsMaxRecordCountFactor,supportsQuantization:n.query.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:n.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:n.query.supportsDegeneratedQuantizedGeometry,supportsReturnExceededLimitGeometries:n.query.supportsReturnExceededLimitGeometries,lastEditDate:null}}}}function f(e){return e.type===`link-chart`&&e.linkChart?.linkChartProperties.nonspatialDataDisplay?.mode===`hidden`}export{d as KnowledgeGraphSublayerAdapter};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{clone as e}from"../../../../../core/lang.js";import{getEffectiveFeatureReduction as t}from"./featureReductionUtils.js";import{getServiceGeometryType as n}from"./geometryUtils.js";import{createLabelVVEvaluator as r}from"./labelingUtils.js";import{ExceedsLimitCache as i}from"../schema/ExceedsLimitCache.js";import{createFeatureSourceSchema as a}from"../schema/SourceSchema.js";import{createServiceTimeSchema as o}from"../schema/TimeSchema.js";import{createSimpleProcessorSchema as s}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as c}from"../support/rendererUtils.js";class l{constructor(e){this.layer=e,this._cache=new i}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:r(this.layer.renderer)}}]}async createSourceSchema(e,t){let n=this._createServiceInfo(e);return a(n,null,{definitionExpression:null,returnZ:e.returnZ,returnM:e.returnM,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:null,customParameters:this.layer.customParameters,gdbVersion:null,historicMoment:null,timeExtent:this.layer.timeExtent,apiKey:this.layer.apiKey,sourceRefreshVersion:t,availableFields:e.availableFields,cache:this._cache,postQueryFilter:null})}createProcessorSchema(e,n,r){let{fields:i,renderer:a,geometryType:o,labelingInfo:c,labelsVisible:l,orderBy:u,objectIdField:d}=this.layer,f={fields:i
|
|
2
|
+
import{clone as e}from"../../../../../core/lang.js";import{getEffectiveFeatureReduction as t}from"./featureReductionUtils.js";import{getServiceGeometryType as n}from"./geometryUtils.js";import{createLabelVVEvaluator as r}from"./labelingUtils.js";import{ExceedsLimitCache as i}from"../schema/ExceedsLimitCache.js";import{createFeatureSourceSchema as a}from"../schema/SourceSchema.js";import{createServiceTimeSchema as o}from"../schema/TimeSchema.js";import{createSimpleProcessorSchema as s}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as c}from"../support/rendererUtils.js";class l{constructor(e){this.layer=e,this._cache=new i}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:r(this.layer.renderer)}}]}async createSourceSchema(e,t){let n=this._createServiceInfo(e);return a(n,null,{definitionExpression:null,returnZ:e.returnZ,returnM:e.returnM,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:null,customParameters:this.layer.customParameters,gdbVersion:null,historicMoment:null,timeExtent:this.layer.timeExtent,apiKey:this.layer.apiKey,sourceRefreshVersion:t,availableFields:e.availableFields,cache:this._cache,postQueryFilter:null})}createProcessorSchema(e,n,r){let{fields:i,renderer:a,geometryType:o,labelingInfo:c,labelsVisible:l,orderBy:u,objectIdField:d}=this.layer,f={fields:i,renderer:a,labelingInfoSource:this.layer.id,featureReduction:t(this.layer,n),geometryType:o,labelingInfo:c,labelsVisible:l,objectIdField:d,orderBy:u??`default`};return s(e,n,f,r)}get hasRequiredSupport(){return c(this.layer.renderer)}get timeOptions(){return this.layer}getUpdateHashProperties(e){return[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>t(this.layer,e),()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>this.layer.orderBy,()=>this.layer.renderer]}getRenderer(){return this.layer.renderer}setGraphicOrigin(e){e.origin=this.layer.graphicOrigin}setAggregateGraphicOrigin(e){e.origin=this.layer.aggregateGraphicOrigin}setTrackGraphicOrigin(e){e.origin=this.layer.trackGraphicOrigin}_createServiceInfo(t){let r=this.layer,{capabilities:i}=r,a=r.fieldsIndex.toJSON(),s=n(r),c=o(r.timeInfo),l=r.spatialReference.toJSON(),u=r.source.getSource(),d=this.layer.objectIdField,f=e(i);f.query.maxRecordCount=u.maxRecordCount;let p=t.spatialReference.toJSON();return{type:`ogc`,source:u,orderByFields:d,outSpatialReference:p,metadata:{fieldsIndex:a,geometryType:s,hasZ:this.layer.hasZ??!1,hasM:!1,featureIdInfo:{type:`object-id`,fieldName:r.objectIdField},timeInfo:c,spatialReference:l,outSpatialReference:p,attributeSpatialReference:null,globalIdField:null,subtypeField:null,subtypes:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null,types:null},queryMetadata:{supportsCacheHint:f.query.supportsCacheHint,maxRecordCount:f.query.maxRecordCount,tileMaxRecordCount:f.query.tileMaxRecordCount,supportsCompactGeometry:f.query.supportsCompactGeometry,supportsDefaultSpatialReference:f.query.supportsDefaultSpatialReference,supportsFormatPBF:f.query.supportsFormatPBF,supportsMaxRecordCountFactor:f.query.supportsMaxRecordCountFactor,supportsQuantization:f.query.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:f.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:f.query.supportsDegeneratedQuantizedGeometry,supportsReturnExceededLimitGeometries:f.query.supportsReturnExceededLimitGeometries,lastEditDate:null}}}}export{l as OGCFeatureLayerAdapter};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{clone as e}from"../../../../../core/lang.js";import{isHostedAgolService as t}from"../../../../../layers/support/arcgisLayerUrl.js";import{getEffectiveFeatureReduction as n}from"./featureReductionUtils.js";import{addFloorFilter as r,hasFloorFilter as i}from"./floorFilterUtils.js";import{getServiceGeometryType as a}from"./geometryUtils.js";import{createLabelVVEvaluator as o}from"./labelingUtils.js";import{ExceedsLimitCache as s}from"../schema/ExceedsLimitCache.js";import{createSnapshotInfo as c,createFeatureSourceSchema as l}from"../schema/SourceSchema.js";import{createServiceTimeSchema as u}from"../schema/TimeSchema.js";import{createSimpleProcessorSchema as d}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as f}from"../support/rendererUtils.js";class p{constructor(e){this.layer=e,this._cache=new s}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:o(this.layer.renderer)}}]}async createSourceSchema(e,t){let n=this._createServiceInfo(e),r=this.layer.editingInfo?.lastEditDate!=null,i=this.layer.refreshInterval>0,a=!r&&i,o=c(n.isSourceHosted,a,this.layer.capabilities,n.metadata.geometryType,e.extent,this.layer.fullExtent);return l(n,o,{definitionExpression:this.layer.definitionExpression,returnZ:e.returnZ,returnM:e.returnM,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:this.layer.displayFilterInfo,customParameters:this.layer.customParameters,gdbVersion:this.layer.gdbVersion,historicMoment:this.layer.historicMoment,timeExtent:this.layer.timeExtent,apiKey:this.layer.apiKey,sourceRefreshVersion:t,availableFields:e.availableFields,cache:this._cache,postQueryFilter:null})}createProcessorSchema(e,t,r){let{fields:i,renderer:a,geometryType:o,labelingInfo:s,labelsVisible:c,orderBy:l,objectIdField:u}=this.layer,f={fields:i
|
|
2
|
+
import{clone as e}from"../../../../../core/lang.js";import{isHostedAgolService as t}from"../../../../../layers/support/arcgisLayerUrl.js";import{getEffectiveFeatureReduction as n}from"./featureReductionUtils.js";import{addFloorFilter as r,hasFloorFilter as i}from"./floorFilterUtils.js";import{getServiceGeometryType as a}from"./geometryUtils.js";import{createLabelVVEvaluator as o}from"./labelingUtils.js";import{ExceedsLimitCache as s}from"../schema/ExceedsLimitCache.js";import{createSnapshotInfo as c,createFeatureSourceSchema as l}from"../schema/SourceSchema.js";import{createServiceTimeSchema as u}from"../schema/TimeSchema.js";import{createSimpleProcessorSchema as d}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as f}from"../support/rendererUtils.js";class p{constructor(e){this.layer=e,this._cache=new s}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:o(this.layer.renderer)}}]}async createSourceSchema(e,t){let n=this._createServiceInfo(e),r=this.layer.editingInfo?.lastEditDate!=null,i=this.layer.refreshInterval>0,a=!r&&i,o=c(n.isSourceHosted,a,this.layer.capabilities,n.metadata.geometryType,e.extent,this.layer.fullExtent);return l(n,o,{definitionExpression:this.layer.definitionExpression,returnZ:e.returnZ,returnM:e.returnM,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:this.layer.displayFilterInfo,customParameters:this.layer.customParameters,gdbVersion:this.layer.gdbVersion,historicMoment:this.layer.historicMoment,timeExtent:this.layer.timeExtent,apiKey:this.layer.apiKey,sourceRefreshVersion:t,availableFields:e.availableFields,cache:this._cache,postQueryFilter:null})}createProcessorSchema(e,t,r){let{fields:i,renderer:a,geometryType:o,labelingInfo:s,labelsVisible:c,orderBy:l,objectIdField:u}=this.layer,f={fields:i,renderer:a,labelingInfoSource:this.layer.id,featureReduction:n(this.layer,t),geometryType:o,labelingInfo:s,labelsVisible:c,objectIdField:u,orderBy:l??`default`};return d(e,t,f,r)}get hasRequiredSupport(){return f(this.layer.renderer)}get timeOptions(){return this.layer}addFilters(e,t){return r(this.layer,e,t)}getUpdateHashProperties(e){return[()=>this.layer.outFields,()=>this.layer.orderBy,()=>this.layer.definitionExpression,()=>this.layer.renderer,()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>n(this.layer,e),()=>this.layer.customParameters,()=>i(this.layer,e)?e.floors:null]}getRenderer(){return this.layer.renderer}setGraphicOrigin(e){e.origin=this.layer.graphicOrigin}setAggregateGraphicOrigin(e){e.origin=this.layer.aggregateGraphicOrigin}setTrackGraphicOrigin(e){e.origin=this.layer.trackGraphicOrigin}_createServiceInfo(n){let r=this.layer,{capabilities:i,globalIdField:o,orderBy:s}=r,c=r.fieldsIndex.toJSON(),l=a(r),d=u(r.timeInfo),f=r.spatialReference.toJSON(),p=e(this.layer.parsedUrl),m=this.layer.objectIdField;if(s?.length){let e=!s[0].valueExpression&&s[0].field;e&&(m=e)}let h=t(p.path),g=n.spatialReference.toJSON();return{type:`feature-service`,source:p,isSourceHosted:h,orderByFields:m,outSpatialReference:g,metadata:{globalIdField:o,fieldsIndex:c,geometryType:l,hasZ:this.layer.hasZ,hasM:this.layer.hasM,featureIdInfo:{type:`object-id`,fieldName:r.objectIdField},timeInfo:d,spatialReference:f,outSpatialReference:g,attributeSpatialReference:null,timeReferenceUnknownClient:r.datesInUnknownTimezone,dateFieldsTimeZone:r.dateFieldsTimeZone,subtypeField:null,subtypes:null,typeIdField:null,types:null},queryMetadata:{supportsCacheHint:i.query.supportsCacheHint,maxRecordCount:i.query.maxRecordCount,tileMaxRecordCount:i.query.tileMaxRecordCount,supportsCompactGeometry:i.query.supportsCompactGeometry,supportsDefaultSpatialReference:i.query.supportsDefaultSpatialReference,supportsFormatPBF:i.query.supportsFormatPBF,supportsMaxRecordCountFactor:i.query.supportsMaxRecordCountFactor,supportsQuantization:i.query.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:i.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:i.query.supportsDegeneratedQuantizedGeometry,supportsReturnExceededLimitGeometries:i.query.supportsReturnExceededLimitGeometries,lastEditDate:null}}}}export{p as OrientedImageryLayerAdapter};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../../../../core/Error.js";import{toParquetJSONGeometryType as t}from"../../../../../layers/support/parquetUtils.js";import{getEffectiveFeatureReduction as n}from"./featureReductionUtils.js";import{getServiceGeometryType as r}from"./geometryUtils.js";import{createLabelVVEvaluator as i}from"./labelingUtils.js";import{createSimpleProcessorSchema as a}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as o}from"../support/rendererUtils.js";class s{constructor(e){this.layer=e}get hasRequiredSupport(){return o(this.layer.renderer)}get timeOptions(){return null}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:i(this.layer.renderer)}}]}getUpdateHashProperties(e){return[()=>this.layer.data,()=>this.layer.outFields,()=>this.layer.definitionExpression,()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>n(this.layer,e),()=>this.layer.customParameters,()=>this.layer.orderBy,()=>this.layer.returnZ,()=>this.layer.returnM,()=>this.layer.renderer,()=>this.layer.popupTemplate]}openMessagePorts(){return this.layer.source.openPorts()}async createSourceSchema(e,t){let n=this._createServiceInfo(e),r=e.availableFields.includes(`*`)?this.layer.fields.map(e=>e.name):e.availableFields,i={partial:{dataSourceHash:this.layer.data?JSON.stringify(this.layer.data.toJSON()):null,availableFields:r},full:{displayFilterInfo:n.geometryInfo.displayOptimization&&e.displayFilterEnabled?this.layer.displayFilterInfo?.toJSON()??null:null,definitionExpression:this.layer.definitionExpression??null,sourceRefreshVersion:t,customParameters:this.layer.customParameters??null,returnZ:e.returnZ&&n.metadata.hasZ,returnM:e.returnM&&n.metadata.hasM}};return{type:`parquet`,service:n,strategy:this._createStrategy(n,i)}}_createStrategy(e,t){return e.geometryInfo.displayOptimization?{type:`xz`,...t}:{type:`snapshot`,...t}}createProcessorSchema(e,t,r){let i={fields:this.layer.fields
|
|
2
|
+
import e from"../../../../../core/Error.js";import{toParquetJSONGeometryType as t}from"../../../../../layers/support/parquetUtils.js";import{getEffectiveFeatureReduction as n}from"./featureReductionUtils.js";import{getServiceGeometryType as r}from"./geometryUtils.js";import{createLabelVVEvaluator as i}from"./labelingUtils.js";import{createSimpleProcessorSchema as a}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as o}from"../support/rendererUtils.js";class s{constructor(e){this.layer=e}get hasRequiredSupport(){return o(this.layer.renderer)}get timeOptions(){return null}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:i(this.layer.renderer)}}]}getUpdateHashProperties(e){return[()=>this.layer.data,()=>this.layer.outFields,()=>this.layer.definitionExpression,()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>n(this.layer,e),()=>this.layer.customParameters,()=>this.layer.orderBy,()=>this.layer.returnZ,()=>this.layer.returnM,()=>this.layer.renderer,()=>this.layer.popupTemplate]}openMessagePorts(){return this.layer.source.openPorts()}async createSourceSchema(e,t){let n=this._createServiceInfo(e),r=e.availableFields.includes(`*`)?this.layer.fields.map(e=>e.name):e.availableFields,i={partial:{dataSourceHash:this.layer.data?JSON.stringify(this.layer.data.toJSON()):null,availableFields:r},full:{displayFilterInfo:n.geometryInfo.displayOptimization&&e.displayFilterEnabled?this.layer.displayFilterInfo?.toJSON()??null:null,definitionExpression:this.layer.definitionExpression??null,sourceRefreshVersion:t,customParameters:this.layer.customParameters??null,returnZ:e.returnZ&&n.metadata.hasZ,returnM:e.returnM&&n.metadata.hasM}};return{type:`parquet`,service:n,strategy:this._createStrategy(n,i)}}_createStrategy(e,t){return e.geometryInfo.displayOptimization?{type:`xz`,...t}:{type:`snapshot`,...t}}createProcessorSchema(e,t,r){let i={fields:this.layer.fields,renderer:this.layer.renderer,labelingInfoSource:this.layer.id,featureReduction:n(this.layer,t),geometryType:this.layer.geometryType,labelingInfo:this.layer.labelingInfo,labelsVisible:this.layer.labelsVisible,objectIdField:this.layer.objectIdField,orderBy:this.layer.orderBy};return a(e,t,i,r)}getRenderer(){return this.layer.renderer}setGraphicOrigin(e){e.origin=this.layer.graphicOrigin}setAggregateGraphicOrigin(e){e.origin=this.layer.aggregateGraphicOrigin}_createServiceInfo(n){let i=r(this.layer),a=n.spatialReference.toJSON(),o=this.layer.geometryEncoding,s=this.layer.capabilities.query,c=this.layer.capabilities?.data?.supportsZ===!0,l=this.layer.capabilities?.data?.supportsM===!0;if(o==null&&this.layer.displayOptimization==null)throw new e(`parquet-layer:unsupported`,`creating a parquet layer view requires an encoding`,{layer:this.layer});return{type:`parquet`,outSpatialReference:a,geometryInfo:{geometry:o?{geometryType:t(this.layer.geometryType),spatialReference:this.layer.spatialReference.toJSON(),encoding:o.toJSON()}:null,displayOptimization:this.layer.displayOptimization},metadata:{spatialReference:this.layer.spatialReference.toJSON(),outSpatialReference:a,attributeSpatialReference:null,fieldsIndex:this.layer.fieldsIndex.toJSON(),featureIdInfo:{type:`object-id`,fieldName:this.layer.objectIdField},geometryType:i,hasZ:c,hasM:l,types:null,subtypes:null,timeInfo:null,typeIdField:null,subtypeField:null,globalIdField:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:this.layer.dateFieldsTimeZone},queryMetadata:{supportsCacheHint:s.supportsCacheHint,maxRecordCount:s.maxRecordCount,tileMaxRecordCount:s.tileMaxRecordCount,supportsCompactGeometry:s.supportsCompactGeometry,supportsDefaultSpatialReference:s.supportsDefaultSpatialReference,supportsFormatPBF:s.supportsFormatPBF,supportsMaxRecordCountFactor:s.supportsMaxRecordCountFactor,supportsQuantization:s.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:s.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:s.supportsDegeneratedQuantizedGeometry,supportsReturnExceededLimitGeometries:s.supportsReturnExceededLimitGeometries,lastEditDate:null}}}}export{s as ParquetLayerAdapter};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{getEffectiveFeatureReduction as e}from"./featureReductionUtils.js";import{getServiceGeometryType as t}from"./geometryUtils.js";import{createLabelVVEvaluator as n}from"./labelingUtils.js";import{createServiceTimeSchema as r}from"../schema/TimeSchema.js";import{createSimpleProcessorSchema as i}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as a}from"../support/rendererUtils.js";class o{constructor(e){this.layer=e}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:n(this.layer.renderer)}}]}async createSourceSchema(e,t){return{type:`stream`,service:this._createServiceInfo(e),strategy:{type:`stream`,partial:{sourceRefreshVersion:t},full:{availableFields:e.availableFields,geometryDefinition:this.layer.geometryDefinition?.toJSON(),definitionExpression:this.layer.definitionExpression,customParameters:this.layer.customParameters,maxReconnectionAttempts:this.layer.maxReconnectionAttempts,maxReconnectionInterval:this.layer.maxReconnectionInterval,purgeOptions:this.layer.purgeOptions.toJSON()}}}}createProcessorSchema(t,n,r){let{fields:a,renderer:o,geometryType:s,labelingInfo:c,labelsVisible:l,objectIdField:u,trackInfo:d}=this.layer,f={fields:a
|
|
2
|
+
import{getEffectiveFeatureReduction as e}from"./featureReductionUtils.js";import{getServiceGeometryType as t}from"./geometryUtils.js";import{createLabelVVEvaluator as n}from"./labelingUtils.js";import{createServiceTimeSchema as r}from"../schema/TimeSchema.js";import{createSimpleProcessorSchema as i}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as a}from"../support/rendererUtils.js";class o{constructor(e){this.layer=e}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:n(this.layer.renderer)}}]}async createSourceSchema(e,t){return{type:`stream`,service:this._createServiceInfo(e),strategy:{type:`stream`,partial:{sourceRefreshVersion:t},full:{availableFields:e.availableFields,geometryDefinition:this.layer.geometryDefinition?.toJSON(),definitionExpression:this.layer.definitionExpression,customParameters:this.layer.customParameters,maxReconnectionAttempts:this.layer.maxReconnectionAttempts,maxReconnectionInterval:this.layer.maxReconnectionInterval,purgeOptions:this.layer.purgeOptions.toJSON()}}}}createProcessorSchema(t,n,r){let{fields:a,renderer:o,geometryType:s,labelingInfo:c,labelsVisible:l,objectIdField:u,trackInfo:d}=this.layer,f={fields:a,renderer:o,labelingInfoSource:this.layer.id,featureReduction:e(this.layer,n),geometryType:s,labelingInfo:c,labelsVisible:l,objectIdField:u,orderBy:`default`,trackInfo:d};return i(t,n,f,r)}get hasRequiredSupport(){return a(this.layer.renderer)}get timeOptions(){return this.layer}getUpdateHashProperties(t){return[()=>this.layer.definitionExpression,()=>this.layer.renderer,()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>e(this.layer,t),()=>this.layer.customParameters,()=>this.layer.geometryDefinition,()=>this.layer.definitionExpression,()=>this.layer.trackInfo,()=>this.layer?.source?.refreshInterval]}getRenderer(){return this.layer.renderer}setGraphicOrigin(e){e.origin=this.layer.graphicOrigin}setAggregateGraphicOrigin(e){e.origin=this.layer.aggregateGraphicOrigin}setTrackGraphicOrigin(e){e.origin=this.layer.trackGraphicOrigin}_createServiceInfo(e){let n=t(this.layer),i=r(this.layer.timeInfo)??null,a=this.layer.spatialReference?this.layer.spatialReference.toJSON():null,o=e.spatialReference.toJSON();return{type:`stream`,source:this.layer.getStreamConnectionSource(),outSpatialReference:o,metadata:{fieldsIndex:this.layer.fieldsIndex.toJSON(),geometryType:n,hasZ:!1,hasM:!1,featureIdInfo:{type:`object-id`,fieldName:this.layer.objectIdField},timeInfo:i,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,spatialReference:a,outSpatialReference:o,attributeSpatialReference:null,subtypeField:null,subtypes:null,globalIdField:null,typeIdField:null,types:null}}}}export{o as StreamLayerAdapter};
|