@vertigis/arcgis-extensions 54.2.0 → 54.3.0

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.
@@ -1 +1 @@
1
- import e from"@arcgis/core/Color.js";import r from"@arcgis/core/geometry/Extent.js";import o from"@arcgis/core/geometry/SpatialReference.js";import t from"@arcgis/core/layers/MapImageLayer";import n from"@arcgis/core/renderers/SimpleRenderer.js";import l from"@arcgis/core/renderers/UniqueValueRenderer";import i from"@arcgis/core/symbols/Font.js";import a from"@arcgis/core/symbols/TextSymbol.js";import{getDefaultSymbol as s}from"../convert.js";let y=0,m="";export function createLpkxLayer(e,i,a){const s=a,y=e.lyrxJson.layerDefinitions,f=e.createdFeatureClasses.split(";"),p=y.flatMap(((r,o)=>{if("CIMGroupLayer"===r.type)return[];const t=function(e){if(!e)return;if("CIMSimpleRenderer"===e.type){const r=c(e.symbol?.symbol);if(!r)return;return new n({symbol:r})}if("CIMUniqueValueRenderer"===e.type){const r=e.fields?.[0];if(!r)return;const o=[];return e.groups?.forEach((e=>{e.classes?.forEach((e=>{const r=c(e.symbol?.symbol);r&&e.values?.forEach((e=>{o.push({value:e.fieldValues?.[0],symbol:r})}))}))})),new l({field:r,uniqueValueInfos:o})}return}(r.renderer),i=r.featureTable?.dataConnection?.dataset,a=f.find((e=>e.endsWith(`_${i}`)));return[{id:o,title:r.name,source:{type:"data-layer",dataSource:{type:"table",workspaceId:e.workspaceId,dataSourceName:a,gdbVersion:""}},renderer:t,labelingInfo:u(r,m),showLabels:!0,geometryType:m}]}));p.sort(((e,r)=>{const o=e=>"point"===e?0:"polyline"===e?1:"polygon"===e?2:3;return o(e.geometryType)-o(r.geometryType)}));const b=(i instanceof File?i.name:"lpkx-layer").replace(/[^a-zA-Z0-9_.-]/g,"_"),d=e.bbox||[],g=new r({xmin:d[0],ymin:d[1],xmax:d[2],ymax:d[3],spatialReference:new o({wkid:Number(e.outCrs||o.WebMercator)})});return new t({title:b,url:s,sublayers:p.reverse(),visible:!0,fullExtent:g})}function c(e){if(e)return"CIMPolygonSymbol"===e.type?(m="polygon",function(e){return{type:"cim",data:{type:"CIMSymbolReference",symbol:{type:"CIMPolygonSymbol",symbolLayers:e.symbolLayers??[]}}}}(e)):"CIMLineSymbol"===e.type?(m="polyline",function(e){return{type:"cim",data:{type:"CIMSymbolReference",symbol:{type:"CIMLineSymbol",symbolLayers:e.symbolLayers??[]}}}}(e)):"CIMPointSymbol"===e.type?(m="point",function(e){return{type:"cim",data:{type:"CIMSymbolReference",symbol:{type:"CIMPointSymbol",symbolLayers:e.symbolLayers}}}}(e)):void 0}function u(e,r){return(e.labelClasses??[]).map((o=>{const t=(n=o.textSymbol?.symbol,n&&"object"==typeof n&&"CIMTextSymbol"===n.type?n:void 0);var n;return{labelExpression:p(o,e),labelPlacement:f(r),where:o.whereClause??"",minScale:o.minScale??0,maxScale:o.maxScale??0,symbol:new a({color:b(t)??s(y++,"polygon").color,haloSize:h(t),haloColor:I(t),kerning:C(t?.kerning),...S(t),font:g(t)})}}))}function f(e){return"point"===e||"Points"===e?"above-right":"polyline"===e||"Polylines"===e?"center-along":"polygon"===e||"Polygons"===e?"always-horizontal":"above-right"}function p(e,r){return e.expression??`$feature.${r.displayField}`}function b(e){const r=e?.symbol?.symbolLayers?.find((e=>"CIMSolidFill"===e.type)),o=r;return d(o?.color)}function d(r){if(!r)return;let o;if(Array.isArray(r))o=r;else{const e=r.values;if(!e)return;"function"==typeof e?o=Array.from(e()):Array.isArray(e)?o=e:Symbol.iterator in Object(e)&&(o=Array.from(e))}if(!o)return;if("CIMHSVColor"===(Array.isArray(r)?void 0:r.type)){let[r=0,t=0,n=0,l=100]=o;t/=100,n/=100;const i=n*(1-t/2),a=0===i||1===i?0:(n-i)/Math.min(i,1-i),s=new e(`hsla(${r}, ${100*a}%, ${100*i}%, ${l/100})`);return[s.r,s.g,s.b,s.a]}return o}function g(e){const r=e?.fontStyleName??"";return new i({family:e?.fontFamilyName,size:e?.height,weight:r.includes("Bold")?"bold":"normal",style:r.includes("Italic")?"italic":"normal"})}function S(e){return{horizontalAlignment:e?.horizontalAlignment?.toLowerCase(),verticalAlignment:e?.verticalAlignment?.toLowerCase()}}function C(e){return"boolean"==typeof e?e:void 0}function h(e){const r=e?.haloSize;if(null==r)return;const o="string"==typeof r?parseFloat(r):Number(r);return Number.isFinite(o)?o:void 0}function I(e){const r=e?.haloSymbol,o=r?.symbolLayers?.find((e=>"CIMSolidFill"===e.type)),t=o;return d(t?.color)}
1
+ import e from"@arcgis/core/Color.js";import r from"@arcgis/core/geometry/Extent.js";import o from"@arcgis/core/geometry/SpatialReference.js";import t from"@arcgis/core/layers/MapImageLayer";import n from"@arcgis/core/renderers/SimpleRenderer.js";import l from"@arcgis/core/renderers/UniqueValueRenderer";import i from"@arcgis/core/symbols/Font.js";import a from"@arcgis/core/symbols/TextSymbol.js";import{getDefaultSymbol as s}from"../convert.js";let y=0,m="";export function createLpkxLayer(e,i,b){const h=b,x=e.lyrxJson.layerDefinitions,M=e.createdFeatureClasses.split(";"),w=x.flatMap(((r,o)=>{if("CIMGroupLayer"===r.type)return[];const t="CIMAnnotationLayer"===r.type;let i;t?m="point":i=function(e){if(!e)return;if("CIMSimpleRenderer"===e.type){const r=c(e.symbol?.symbol);if(!r)return;return new n({symbol:r})}if("CIMUniqueValueRenderer"===e.type){const r=e.fields?.[0];if(!r)return;const o=[];return e.groups?.forEach((e=>{e.classes?.forEach((e=>{const r=c(e.symbol?.symbol);r&&e.values?.forEach((e=>{o.push({value:e.fieldValues?.[0],symbol:r})}))}))})),new l({field:r,uniqueValueInfos:o})}return}(r.renderer);const b=r.featureTable?.dataConnection?.dataset,h=M.find((e=>e.endsWith(`_${b}`)));let x=function(e,r){return(e.labelClasses??[]).map((o=>{const t=(n=o.textSymbol?.symbol,n&&"object"==typeof n&&"CIMTextSymbol"===n.type?n:void 0);var n;return{labelExpression:p(o,e),labelPlacement:u(r),where:o.whereClause??"",minScale:o.minScale??0,maxScale:o.maxScale??0,symbol:new a({color:f(t)??s(y++,"polygon").color,haloSize:C(t),haloColor:I(t),kerning:S(t?.kerning),...g(t),font:d(t)})}}))}(r,m);if(t&&(!x||0===x.length)){x=[{labelExpressionInfo:{expression:`$feature.${r.displayField??r.featureTable?.displayField??"TextString"}`},labelPlacement:u("point")}]}return[{id:o,title:r.name,source:{type:"data-layer",dataSource:{type:"table",workspaceId:e.workspaceId,dataSourceName:h,gdbVersion:""}},renderer:i,labelingInfo:x,labelsVisible:t,opacity:t?0:1,geometryType:m}]}));w.sort(((e,r)=>{const o=e=>"point"===e?0:"polyline"===e?1:"polygon"===e?2:3;return o(e.geometryType)-o(r.geometryType)}));const L=(i instanceof File?i.name:"lpkx-layer").replace(/[^a-zA-Z0-9_.-]/g,"_"),v=e.bbox||[],A=new r({xmin:v[0],ymin:v[1],xmax:v[2],ymax:v[3],spatialReference:new o({wkid:Number(e.outCrs||o.WebMercator)})});return new t({title:L,url:h,sublayers:w.reverse(),visible:!0,fullExtent:A})}function c(e){if(e)return"CIMPolygonSymbol"===e.type?(m="polygon",function(e){return{type:"cim",data:{type:"CIMSymbolReference",symbol:{type:"CIMPolygonSymbol",symbolLayers:e.symbolLayers??[]}}}}(e)):"CIMLineSymbol"===e.type?(m="polyline",function(e){return{type:"cim",data:{type:"CIMSymbolReference",symbol:{type:"CIMLineSymbol",symbolLayers:e.symbolLayers??[]}}}}(e)):"CIMPointSymbol"===e.type?(m="point",function(e){return{type:"cim",data:{type:"CIMSymbolReference",symbol:{type:"CIMPointSymbol",symbolLayers:e.symbolLayers}}}}(e)):void 0}function u(e){return"point"===e||"Points"===e?"above-right":"polyline"===e||"Polylines"===e?"center-along":"polygon"===e||"Polygons"===e?"always-horizontal":"above-right"}function p(e,r){return e.expression??`$feature.${r.displayField}`}function f(e){const r=e?.symbol?.symbolLayers?.find((e=>"CIMSolidFill"===e.type)),o=r;return b(o?.color)}function b(r){if(!r)return;let o;if(Array.isArray(r))o=r;else{const e=r.values;if(!e)return;"function"==typeof e?o=Array.from(e()):Array.isArray(e)?o=e:Symbol.iterator in Object(e)&&(o=Array.from(e))}if(!o)return;if("CIMHSVColor"===(Array.isArray(r)?void 0:r.type)){let[r=0,t=0,n=0,l=100]=o;t/=100,n/=100;const i=n*(1-t/2),a=0===i||1===i?0:(n-i)/Math.min(i,1-i),s=new e(`hsla(${r}, ${100*a}%, ${100*i}%, ${l/100})`);return[s.r,s.g,s.b,s.a]}return o}function d(e){const r=e?.fontStyleName??"";return new i({family:e?.fontFamilyName,size:e?.height,weight:r.includes("Bold")?"bold":"normal",style:r.includes("Italic")?"italic":"normal"})}function g(e){return{horizontalAlignment:e?.horizontalAlignment?.toLowerCase(),verticalAlignment:e?.verticalAlignment?.toLowerCase()}}function S(e){return"boolean"==typeof e?e:void 0}function C(e){const r=e?.haloSize;if(null==r)return;const o="string"==typeof r?parseFloat(r):Number(r);return Number.isFinite(o)?o:void 0}function I(e){const r=e?.haloSymbol,o=r?.symbolLayers?.find((e=>"CIMSolidFill"===e.type)),t=o;return b(t?.color)}
@@ -98,6 +98,10 @@ export interface LyrxLayerDefinition {
98
98
  * The name of the layer.
99
99
  */
100
100
  name: "Points" | "Polylines" | "Polygons";
101
+ /**
102
+ * The type of the layer.
103
+ */
104
+ type?: "CIMGroupLayer" | "CIMAnnotationLayer" | "CIMFeatureLayer";
101
105
  /**
102
106
  * The renderer configuration for the layer.
103
107
  */
@@ -117,6 +121,10 @@ export interface LyrxLayerDefinition {
117
121
  dataConnection?: {
118
122
  dataset?: string;
119
123
  };
124
+ /**
125
+ * The display field for the feature table.
126
+ */
127
+ displayField?: string;
120
128
  };
121
129
  }
122
130
  /**