@vtx/ol-map 1.0.165 → 1.0.166
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/lib/feature-layer/FeatureLayer.js +1 -1
- package/lib/feature-layer/FeatureLayer.js.map +1 -1
- package/lib/feature-layer/createFeatureCollection.js +2 -2
- package/lib/feature-layer/createFeatureCollection.js.map +1 -1
- package/lib/map/index.js +15 -10
- package/lib/map/index.js.map +1 -1
- package/package.json +3 -2
|
@@ -251,7 +251,7 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
251
251
|
_this2.group = group;
|
|
252
252
|
|
|
253
253
|
// 处理获取的数据
|
|
254
|
-
_this2.afterGetData = afterGetData;
|
|
254
|
+
_this2.afterGetData = (0, _stringToFun["default"])(afterGetData);
|
|
255
255
|
|
|
256
256
|
// 数据查询字段
|
|
257
257
|
_this2.valueField = valueField;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureLayer.js","names":["_layer","require","_ol","_source","_renderer","_interopRequireDefault","_style5","_isFunction","_createFeatureCollection","_isObject","_encryptParams","_stringToFun","_convertCamelToCSS","_MyCluster","_Marker","_excluded","_excluded2","_excluded3","_excluded4","e","__esModule","_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","Symbol","iterator","isArray","length","n","_typeof","o","prototype","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","hasOwnProperty","_classCallCheck","_defineProperties","configurable","writable","_toPropertyKey","key","_createClass","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","_superPropGet","p","_get","get","bind","_superPropBase","value","_inherits","create","_setPrototypeOf","setPrototypeOf","__proto__","_superPropSet","f","_set","set","getPrototypeOf","_toPrimitive","toPrimitive","String","Number","addOverlay","feature","map","alarmBg","itemVal","find","v","values_","image","style","dom","document","createElement","src","className","cssText","overlay","Overlay","element","positioning","stopEvent","setPosition","getGeometry","getCoordinates","FeatureLayer","_Vector","options","_this2","url","params","data","dataField","features","sourceOptions","label","labelField","point","cluster","template","autoRefresh","method","layerControl","show","group","iconOptions","afterGetData","legend","viewOnly","encrypt","valueField","tipTemplate","cancelPopup","other","props","source","VectorSource","defaultShow","stringToFun","size","_ref","color","background","backgroundStroke","backgroundStrokeWidth","otherVal","text","font","fill","Fill","padding","justify","textAlign","textBaseline","offsetY","offsetX","backgroundFill","Stroke","width","Text","_options","isCluster","_feature$get","distance","inited","item","convertCamelToCSS","_features","init","loadUrlData","loadData","applyGroupVisibilityToFeatures","undefined","enabledGroups","hasEnabled","_v$filter","setVisible","val","setStyle","getStyleByMode","setClusterMode","setShow","_this3","_ref2","isObject","setClusterSource","destroy","oldZoom","getView","getZoom","moveEnd","on","zoom","_this3$_options$clust","zoomThreshold","getCustomClusterStyle","clusterStyle","_feature$get2","type","iconSrc","_clusterStyle$scale","scale","numberStyle","numberScale","renderer","Marker","getImgUrl","hideFooter","info","fontSize","anchor","_this4","resolution","_feature$get3","_this4$group","_cluster$style","_this4$_options","otherStyle","some","_v$filter2","_v$filter3","styles","isFunction","_styles","getMarkerOptions","Style","_style","getSimpleStyle","Simple","_style3","mode","render","getMultipleStyle","UniqueValue","ClassBreaks","Circle","radius","stroke","_render","_render$style","_render$style2","icon","_render$render","_this5","_feature$get4","iconSize","_this$_options","isFun","_data","_data2","_data3","_data4","_data5","_data6","_data7","_data8","_data9","_data0","_data1","_data10","P","marker","marker_cluster","commonStyle","point_cluster","_Object$keys","includes","_data11","customText","getLabelStyle","_cluster$style2","getClusterTextStyle","_this$_features","_this6","_this","_cluster","minDistance","clusterSource","Cluster","clusterChange","setAlarmBgByFeatures","createCluster","_group","Feature","geometry","layerKey","_group2","_groupItem","groupItem","_v$filter4","markerStyle","_this6$_options","_style4","_markerStyle2","_cluster2","_markerStyle","setProperties","setSource","clearAlarmBg","_this$overlays","_this7","overlays","removeOverlay","_this8","_feature","refresh","_this9","getDataByHttpByParams","field","then","new_features","newFeatures","getFeatureByFieldValue","id","getSource","addFeatures","getFeatures","changed","clear","createGeoJson","_this0","encryptParams","loadFeatures","getFeaturesByFieldValueOpera","_ref3","_this1","_ref3$operation","operation","Promise","resolve","reject","result","fun","Function","concat","err","_v$values_$field","_v$values_$field2","_v$values_$field3","getMap","setGroup","setVisibleByGroup","visible","layers","onChange","clearMoveEnd","un","Vector","_default","exports"],"sources":["feature-layer/FeatureLayer.js"],"sourcesContent":["import { Vector } from 'ol/layer';\nimport { Feature, Overlay } from 'ol';\nimport { Vector as VectorSource } from 'ol/source';\nimport renderer from '../renderer';\nimport { Fill, Style, Text, Stroke, Circle } from 'ol/style';\nimport isFunction from '../_util/isFunction';\nimport { getDataByHttpByParams, createGeoJson } from './createFeatureCollection';\nimport isObject from '../_util/isObject';\nimport encryptParams from '../_util/encryptParams';\nimport stringToFun from '../_util/stringToFun';\nimport convertCamelToCSS from '../convertCamelToCSS';\nimport Cluster from './MyCluster';\nimport { getImgUrl } from '../marker/Marker';\n\nconst addOverlay = (feature, map, alarmBg) => {\n if (alarmBg) {\n let itemVal = alarmBg.find(v => v.filter(feature.values_));\n if (itemVal) {\n let { image, style } = itemVal;\n let dom;\n if (image) {\n dom = document.createElement('img');\n dom.src = image;\n } else {\n dom = document.createElement('div');\n dom.className = `ol-map-icon-alarm`;\n }\n\n if (style) {\n dom.style.cssText = style;\n }\n\n const overlay = new Overlay({\n element: dom,\n positioning: 'bottom-center',\n stopEvent: true,\n className: 'ol-overlay_container-stop_event',\n });\n\n map.addOverlay(overlay);\n\n overlay.setPosition(feature.getGeometry().getCoordinates());\n\n return overlay;\n }\n }\n};\n\nclass FeatureLayer extends Vector {\n constructor(options) {\n const {\n url,\n params,\n data,\n dataField,\n features,\n sourceOptions,\n key,\n name,\n label,\n labelField,\n point,\n cluster,\n template,\n autoRefresh,\n method,\n layerControl,\n show,\n style,\n group,\n iconOptions,\n afterGetData,\n legend,\n viewOnly,\n encrypt,\n valueField,\n map,\n tipTemplate,\n alarmBg,\n cancelPopup,\n ...other\n } = options;\n\n const props = {\n ...other,\n };\n props.source =\n props.source ||\n new VectorSource({\n features,\n ...sourceOptions,\n });\n\n let defaultShow = show;\n if (group?.length) {\n defaultShow = false;\n\n if (show) {\n group.map(f => {\n if (f.show) {\n defaultShow = true;\n }\n\n // 将字符函数转化为可执行的函数\n f.filter = stringToFun(f.filter);\n });\n }\n }\n\n super(props);\n super.show = show;\n // 参数\n this._options = options;\n\n // 地图\n this.map = map;\n\n // 接口地址\n this.url = url;\n\n // 接口地址请求类型\n this.method = method;\n\n // 接口查询参数\n this.params = params;\n\n // 图层标识\n this.key = key;\n\n // 图层名称\n this.name = name;\n\n // 标签\n this.label = label;\n\n // 标签字段\n this.labelField = labelField;\n\n // 聚合\n this.cluster = cluster;\n\n // 聚合距离\n this.distance = cluster?.distance || 80;\n\n // 海量点\n this.point = point;\n\n // 自动刷新标识\n this.autoRefresh = autoRefresh;\n\n // 模版内容\n this.template = template;\n\n // 图层控制\n this.layerControl = layerControl;\n\n // 过滤\n this.group = group;\n\n // 处理获取的数据\n this.afterGetData = afterGetData;\n\n // 数据查询字段\n this.valueField = valueField;\n\n // 图例\n this.legend = legend;\n\n // 样式\n this.style = style;\n\n // 数据\n this.data = data;\n\n // 数据取值字段\n this.dataField = dataField || 'geometryInfo';\n\n // 仅展示\n this.viewOnly = viewOnly;\n\n // 是否初始化\n this.inited = false;\n\n // 加密\n this.encrypt = encrypt;\n\n // 气泡模板\n this.tipTemplate = tipTemplate;\n\n // 取消气泡\n this.cancelPopup = cancelPopup;\n\n // 报警背景\n if (alarmBg) {\n this.alarmBg = (Array.isArray(alarmBg) ? alarmBg : [alarmBg]).map(item => {\n let { filter, style } = item;\n filter = stringToFun(filter);\n if (style) {\n style = item.style && typeof item.style === 'object' ? style : { color: style };\n style = convertCamelToCSS(style);\n }\n return {\n ...item,\n filter,\n style,\n };\n });\n }\n\n // 临时数据\n this._features = [];\n\n // 默认是否展示\n if (defaultShow) {\n this.init();\n }\n }\n\n // 初始化数据\n init() {\n // 是否存在地址\n if (this.url) {\n // 执行\n this.loadUrlData(this.url, this.params, this.method);\n }\n\n // 直接加载数据\n if (this.data) {\n // 执行\n this.loadData(this.data);\n }\n\n this.inited = true;\n }\n\n // 根据当前 group 计算每个 feature 的 show(仅影响 this._features 这批原始要素)\n applyGroupVisibilityToFeatures(features = this._features, group = this.group) {\n if (!group?.length || !features?.length) {\n return;\n }\n\n // 只要存在“启用的分组”,则仅显示命中启用分组的要素;否则隐藏全部\n const enabledGroups = group.filter(v => !v.hasOwnProperty('show') || v.show);\n const hasEnabled = enabledGroups.length > 0;\n\n features.forEach(feature => {\n let show = false;\n\n group.forEach(v => {\n v.filter = stringToFun(v.filter);\n if (\n hasEnabled &&\n (!v.hasOwnProperty('show') || v.show) &&\n v?.filter?.(feature.values_)\n ) {\n show = true;\n }\n });\n\n feature.show = show;\n });\n }\n\n // 重写父类的属性访问器\n get show() {\n return super.show;\n }\n\n set show(value) {\n this.setVisible(value);\n }\n\n set label(val) {\n this._options.label = val;\n this.setStyle(this.getStyleByMode());\n }\n\n set point(val) {\n this._options.point = val;\n this.setStyle(this.getStyleByMode());\n }\n\n set cluster(val) {\n this.setClusterMode(val);\n }\n\n setShow(value) {\n this.show = value;\n this.setVisible(value);\n }\n\n setClusterMode(val) {\n const { show } = isObject(val) ? val : { show: val };\n this.setClusterSource(val);\n this.setStyle(this.getStyleByMode());\n\n if (this.map && show) {\n const map = this.map;\n this.destroy();\n\n // 监听地图缩放大于阈值时取消聚合\n let oldZoom = map.getView().getZoom();\n this.moveEnd = map.on('moveend', () => {\n const zoom = map.getView().getZoom(); //获取当前地图的缩放级别\n if (oldZoom !== zoom) {\n oldZoom = zoom;\n if (zoom >= (this._options.cluster?.zoomThreshold || 14)) {\n this.setClusterSource();\n } else {\n this.setClusterSource(val);\n }\n }\n });\n }\n }\n\n getClusterTextStyle = (size, options) => {\n const { color, background, backgroundStroke, backgroundStrokeWidth, ...otherVal } =\n options && typeof options === 'object' ? options : {};\n const style = {\n text: String(size),\n font: '18px Calibri,sans-serif',\n fill: new Fill({\n color: color || '#fff',\n }),\n padding: [0, 0, 0, 0],\n justify: 'center',\n textAlign: 'center',\n textBaseline: 'middle',\n offsetY: -22,\n offsetX: 16,\n ...otherVal,\n };\n\n if (background) {\n style.backgroundFill = new Fill({\n color: background,\n });\n }\n\n if (backgroundStroke) {\n style.backgroundStroke = new Stroke({\n color: '#FFFFFF',\n width: backgroundStrokeWidth || 2,\n });\n }\n return new Text(style);\n };\n\n getLabelStyle = (feature, color) => {\n let { labelField } = this._options;\n\n // 判断是否是聚合点位\n if (feature.isCluster) {\n const size = feature.get('features')?.length || 0;\n if (size !== 1) {\n return;\n }\n }\n if (labelField) {\n return new Text({\n text: feature.values_[labelField] || '-',\n font: '12px Calibri,sans-serif',\n fill: new Fill({\n color,\n }),\n backgroundFill: new Fill({\n color: '#fff',\n }),\n backgroundStroke: new Stroke({\n color,\n width: 1,\n }),\n padding: [4, 2, 2, 4],\n justify: 'center',\n textBaseline: 'middle',\n offsetY: 12,\n });\n }\n };\n\n getCustomClusterStyle(feature, clusterStyle) {\n const { type, iconSrc, color, scale = 1, numberStyle, numberScale, ...iconOptions } = clusterStyle;\n const size = feature.get('features')?.length || 0;\n\n return [\n new renderer.Marker({\n image: getImgUrl(type || 'CommonIcon', {\n color: color || '#2491fc',\n hideFooter: true,\n info: { text: size, fontSize: 18 },\n }),\n // text: this.getClusterTextStyle(size, numberStyle),\n scale: numberScale || 1,\n }),\n new renderer.Marker({\n image: iconSrc,\n scale: scale || 1,\n anchor: [1.1, 1.25],\n ...iconOptions,\n }),\n ];\n }\n\n getStyleByMode() {\n return (feature, resolution) => {\n const size = feature.get('features')?.length || 0;\n let { style, cluster, otherStyle } = this._options;\n let show = true;\n\n // 如果外部已经通过 group 计算过显隐(setGroup/cluster source 过滤),这里优先尊重结果\n if (feature && feature.hasOwnProperty('show') && !feature.show) {\n return null;\n }\n\n if (this.group?.length) {\n const enabledGroups = this.group.filter(v => !v.hasOwnProperty('show') || v.show);\n // 若存在启用的分组,则只显示命中启用分组的数据;否则隐藏全部\n if (enabledGroups.length) {\n show = enabledGroups.some(v => v?.filter?.(feature.values_));\n } else {\n show = false;\n }\n\n // 仍然沿用“命中分组则覆盖样式”的逻辑(与 show 计算解耦)\n this.group.map(v => {\n if (v?.filter?.(feature.values_)) {\n style = v.style || style;\n }\n });\n }\n feature.show = show;\n\n if (!show) {\n return null;\n }\n\n const styles = [];\n\n if (otherStyle) {\n if (isFunction(otherStyle)) {\n const _styles = otherStyle(feature, resolution);\n if (_styles) {\n if (Array.isArray(styles)) {\n styles.push(..._styles);\n } else {\n styles.push(_styles);\n }\n }\n }\n }\n\n if (size > 1 && cluster?.style?.iconSrc) {\n return this.getCustomClusterStyle(feature, cluster.style);\n }\n if (style) {\n if (typeof style === 'string' || (isFunction(style) && cluster)) {\n styles.push(new renderer.Marker({ ...this.getMarkerOptions(feature, style) }));\n return styles;\n } else if (style instanceof Style) {\n // 判断是否为 ol Style\n styles.push(style);\n return styles;\n } else if (isFunction(style)) {\n // 判断是否为自定义函数渲染\n\n let _style = style(feature);\n if (_style?.type && _style?.style) {\n const options = this.getSimpleStyle(feature, _style);\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n styles.push(_style);\n return styles;\n } else if (isObject(style)) {\n let { mode } = style;\n if (mode) {\n if (mode === 'Simple') {\n const options = this.getSimpleStyle(feature, style.render);\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n if (mode === 'UniqueValue') {\n if (size > 1) {\n const options = this.getSimpleStyle(\n feature,\n style.render.render[0],\n );\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n const options = this.getMultipleStyle(feature, style.render);\n styles.push(renderer.UniqueValue(feature, options));\n return styles;\n }\n\n if (mode === 'ClassBreaks') {\n if (size > 1) {\n const options = this.getSimpleStyle(\n feature,\n style.render.render[0],\n );\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n const options = this.getMultipleStyle(feature, style.render);\n styles.push(renderer.ClassBreaks(feature, options));\n return styles;\n }\n } else if (style.style) {\n const options = this.getSimpleStyle(feature, style);\n styles.push(renderer.Simple(options));\n return styles;\n }\n }\n }\n styles.push(\n new Style({\n image: new Circle({\n radius: 4,\n fill: new Fill({\n color: 'rgba(0,155,255, 0.8)',\n }),\n }),\n fill: new Fill({\n color: 'rgba(255, 255, 255, 0.6)',\n }),\n stroke: new Stroke({\n color: '#009BFF',\n width: 2,\n }),\n }),\n );\n return styles;\n };\n }\n\n getSimpleStyle(feature, _render) {\n let { cluster } = this._options;\n const render = { ..._render };\n if (\n render.type === 'Marker' &&\n (render?.style?.icon || (cluster && render?.style?.image))\n ) {\n render.style = {\n ...render.style,\n ...this.getMarkerOptions(feature, render.style),\n };\n }\n\n return render;\n }\n\n getMultipleStyle(feature, _render) {\n const render = { ..._render };\n\n if (render?.render?.length) {\n render.render = render.render.map(v => this.getSimpleStyle(feature, v));\n }\n\n return render;\n }\n\n getMarkerOptions(feature, style) {\n let icon = style?.icon || style;\n let image = style?.image;\n let scale = style?.scale;\n let color = style?.color || '#2491fc';\n let iconSize = style?.size || null;\n let hideFooter = style?.hideFooter || null;\n let { cluster, point, label } = this._options;\n // 判断是否为自定义函数渲染\n let isFun = isFunction(style);\n let data = {};\n if (isFun) {\n data = style(feature) || {};\n icon = data?.style?.icon || data?.icon || icon;\n color = data?.style?.color || data?.color || color;\n image = data?.style?.image || data?.image || image;\n scale = data?.style?.scale || data?.scale || scale;\n iconSize = data?.style?.size || data?.size || iconSize;\n hideFooter = data?.style?.hideFooter || data?.hideFooter || hideFooter;\n }\n\n const size = feature.get('features')?.length || 0;\n const iconOptions = {\n size: iconSize,\n hideFooter,\n };\n let P = {\n marker: {\n // 图标\n icon,\n image,\n iconOptions,\n scale,\n },\n point: {\n // 点位\n icon,\n type: 'PointIcon',\n iconOptions,\n },\n marker_cluster: {\n // 聚合图标\n icon,\n image,\n scale,\n color: size > 1 ? '' : color,\n iconOptions:\n size > 1\n ? {\n hideFooter: true,\n info: { text: '', fontSize: 18 },\n ...(cluster?.iconOptions || {}),\n }\n : {},\n ...(size > 1 ? cluster?.style : cluster?.commonStyle),\n },\n point_cluster: {\n // 聚合点位\n icon,\n type: 'PointIcon',\n iconOptions:\n size > 1\n ? {\n text: size,\n }\n : {},\n ...(size > 1 && cluster?.style),\n },\n };\n\n let type = point ? 'point' : 'marker';\n\n if (cluster) {\n if (isObject(cluster)) {\n if (cluster.show) {\n type = 'marker_cluster';\n if (point) {\n type = 'point_cluster';\n }\n }\n } else {\n type = 'marker_cluster';\n if (point) {\n type = 'point_cluster';\n }\n }\n }\n\n let _style = P[type];\n if (label) {\n if (Object.keys(data)?.includes('customText')) {\n _style.text = data?.customText;\n } else {\n _style.text = this.getLabelStyle(feature, color);\n }\n }\n\n if (feature.isCluster && size > 1 && type === 'marker_cluster') {\n _style.text = this.getClusterTextStyle(size, cluster?.style?.numberStyle);\n }\n\n return _style;\n }\n\n setClusterSource(cluster) {\n let _this = this;\n cluster = isObject(cluster) ? cluster : { show: cluster };\n let { show, minDistance, distance, group } = cluster;\n // 重建 source 前,确保原始要素已按当前 group 写入 feature.show\n this.applyGroupVisibilityToFeatures(this._features, group || this.group);\n let source = new VectorSource({\n features: this._features?.filter(v => !v.hasOwnProperty('show') || v.show),\n });\n if (show) {\n group = group || this.group;\n let clusterSource = new Cluster({\n distance: distance || 100,\n minDistance: minDistance || 50,\n source,\n group,\n clusterChange: features => {\n this.setAlarmBgByFeatures(features);\n },\n createCluster: (point, features) => {\n let feature = new Feature({\n geometry: point,\n features: features.map(v => {\n v.layerKey = _this.key;\n return v;\n }),\n });\n\n if (group?.length) {\n let style, groupItem;\n const f = features[0];\n const size = features.length;\n group?.map(v => {\n if (v?.filter?.(f.values_)) {\n style = v.style || style;\n groupItem = v;\n }\n });\n\n // 当点位单独展示时,并且style为自定义函数\n if (size === 1 && isFunction(style)) {\n style = style(f);\n }\n\n let markerStyle = { ...style.style };\n\n if (size > 1 && groupItem?.clusterStyle?.iconSrc) {\n let _style = this.getCustomClusterStyle(\n feature,\n groupItem.clusterStyle,\n );\n feature.setStyle(_style);\n } else {\n if (size > 1) {\n if (style?.clusterStyle) {\n markerStyle = { ...style.clusterStyle };\n }\n\n const { numberStyle, iconOptions, ...otherStyle } = markerStyle;\n markerStyle = {\n ...otherStyle,\n text: this.getClusterTextStyle(\n markerStyle?.image ? size : ' ',\n numberStyle,\n ),\n iconOptions: {\n hideFooter: true,\n info: { text: size, fontSize: 18 },\n ...(iconOptions || cluster?.iconOptions || {}),\n },\n };\n }\n const otherStyle = groupItem.otherStyle || this._options?.otherStyle;\n\n feature.setStyle((feature, resolution) => {\n const styles = [\n new renderer.Marker(markerStyle)\n ];\n\n if (otherStyle) {\n if (isFunction(otherStyle)) {\n const _styles = otherStyle(feature, resolution);\n if (_styles) {\n if (Array.isArray(styles)) {\n styles.push(..._styles);\n } else {\n styles.push(_styles);\n }\n }\n }\n }\n\n return styles\n });\n }\n }\n\n // 增加聚合点位标识\n feature.isCluster = true;\n\n if (features.length === 1) {\n feature.setProperties(features[0].values_);\n }\n\n return feature;\n },\n ...cluster,\n });\n\n this.setSource(clusterSource);\n } else {\n this.setSource(source);\n }\n }\n\n // 清除报警背景\n clearAlarmBg() {\n if (this.map && this.overlays?.length) {\n this.overlays.map(overlay => this.map.removeOverlay(overlay));\n this.overlays = null;\n }\n }\n\n // 设置报警背景\n setAlarmBgByFeatures(features) {\n this.clearAlarmBg();\n this.overlays = [];\n\n if (this.map && this.alarmBg && features?.length) {\n features.map(feature => {\n let _feature = feature;\n\n const cluster = feature.get('features');\n if (cluster) {\n _feature = cluster.length < 2 ? cluster[0] : null;\n }\n\n if (_feature && (_feature.hasOwnProperty('show') ? _feature.show : true)) {\n let overlay = addOverlay(_feature, this.map, this.alarmBg);\n if (overlay) {\n this.overlays.push(overlay);\n }\n }\n });\n }\n }\n\n refresh() {\n getDataByHttpByParams({\n url: this.url,\n params: this.params,\n method: this.method,\n afterGetData: this.afterGetData,\n field: this.dataField,\n }).then(features => {\n if (features) {\n let new_features = features;\n this._features = new_features;\n\n let newFeatures = [];\n new_features.map(v => {\n let f = this.getFeatureByFieldValue('id', v.values_.id);\n if (f) {\n f.values_ = v.values_;\n } else {\n newFeatures.push(v);\n }\n });\n\n if (newFeatures.length) {\n this.getSource().addFeatures(newFeatures);\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n\n this.getSource().changed();\n }\n });\n }\n\n loadData(data) {\n this.getSource().clear();\n let features = createGeoJson(data, this.dataField);\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n\n this._features = features;\n this.applyGroupVisibilityToFeatures(this._features, this.group);\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n }\n\n loadUrlData(url, params, method, afterGetData = this.afterGetData) {\n this.getSource().clear();\n this._features = [];\n\n if (this.encrypt) {\n params = encryptParams(params, this.encrypt);\n }\n\n getDataByHttpByParams({\n url,\n params,\n method,\n afterGetData,\n field: this.dataField,\n }).then(features => {\n this.getSource().clear();\n this._features = [];\n\n if (features?.length) {\n this._features = features;\n this.applyGroupVisibilityToFeatures(this._features, this.group);\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n });\n }\n\n loadFeatures(features) {\n this.getSource().clear();\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n\n this._features = features;\n this.applyGroupVisibilityToFeatures(this._features, this.group);\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n }\n\n getFeatures() {\n const source = this.getSource().source || this.getSource();\n return source.getFeatures();\n }\n\n getFeatureByFieldValue(field, value) {\n return this.getFeatures().find(v => v.values_[field] === value);\n }\n\n getFeaturesByFieldValueOpera({ field, value, operation = '===', features, filter }) {\n return new Promise((resolve, reject) => {\n let _features = features || this.getFeatures();\n if (filter) {\n _features = _features.filter(feature => filter(feature.values_));\n }\n\n let result = _features;\n\n if (operation && value !== undefined) {\n if (['>', '>=', '<', '<=', '===', '!=='].includes(operation)) {\n try {\n // 通过动态创建方法自动传入操作符\n const fun = new Function(\n 'features',\n 'field',\n 'value',\n `return features.filter(v => v.values_[field] ${operation} value)`,\n );\n result = fun(_features, field, value);\n } catch (err) {\n reject(err);\n }\n } else if (operation === 'like') {\n // 包含\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\n } else if (operation === 'notLike') {\n // 不包含\n result = _features.filter(v => v.values_[field]?.indexOf(value) === -1);\n } else {\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\n }\n }\n\n resolve(result);\n });\n }\n\n // 获取地图\n getMap() {\n return this.map;\n }\n\n // 设置过滤条件\n setGroup(group) {\n if (group?.length) {\n this.applyGroupVisibilityToFeatures(this._features, group);\n this.group = group;\n this.setVisibleByGroup();\n\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n } else {\n this.setStyle(this.getStyleByMode());\n }\n\n this.setAlarmBgByFeatures(this._features);\n }\n }\n\n // 根据过滤条件组显示图层\n setVisibleByGroup() {\n const group = this.group;\n if (group?.length) {\n let visible = false;\n\n group.map(v => {\n if (!v.hasOwnProperty('show') || v.show) {\n visible = true;\n }\n });\n\n this.setVisible(visible);\n }\n }\n\n // 设置图层显示隐藏\n setVisible(visible) {\n super.setVisible(visible); // 将属性传递给父类\n\n const map = this.getMap && this.getMap();\n if (map) {\n map.layers.onChange();\n }\n\n // 判断是否完成过初始化,没有的话就加载一波数据\n if (!this.inited) {\n this.init();\n }\n\n if (!visible) {\n this.clearAlarmBg();\n } else {\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n }\n\n clearMoveEnd() {\n const map = this.map;\n if (map && this.moveEnd) {\n map.un('moveend', this.moveEnd);\n this.moveEnd = null;\n }\n }\n\n destroy() {\n this.clearMoveEnd();\n this.clearAlarmBg();\n }\n}\n\nexport default FeatureLayer;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,wBAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAJ,sBAAA,CAAAJ,OAAA;AACA,IAAAS,cAAA,GAAAL,sBAAA,CAAAJ,OAAA;AACA,IAAAU,YAAA,GAAAN,sBAAA,CAAAJ,OAAA;AACA,IAAAW,kBAAA,GAAAP,sBAAA,CAAAJ,OAAA;AACA,IAAAY,UAAA,GAAAR,sBAAA,CAAAJ,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA;AAA6C,IAAAc,SAAA;EAAAC,UAAA;EAAAC,UAAA;EAAAC,UAAA;AAAA,SAAAb,uBAAAc,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAAA,SAAAE,mBAAAC,CAAA,WAAAC,kBAAA,CAAAD,CAAA,KAAAE,gBAAA,CAAAF,CAAA,KAAAG,2BAAA,CAAAH,CAAA,KAAAI,kBAAA;AAAA,SAAAA,mBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAH,CAAA,EAAAM,CAAA,QAAAN,CAAA,2BAAAA,CAAA,SAAAO,iBAAA,CAAAP,CAAA,EAAAM,CAAA,OAAAE,CAAA,MAAAC,QAAA,CAAAC,IAAA,CAAAV,CAAA,EAAAW,KAAA,6BAAAH,CAAA,IAAAR,CAAA,CAAAY,WAAA,KAAAJ,CAAA,GAAAR,CAAA,CAAAY,WAAA,CAAAC,IAAA,aAAAL,CAAA,cAAAA,CAAA,GAAAM,KAAA,CAAAC,IAAA,CAAAf,CAAA,oBAAAQ,CAAA,+CAAAQ,IAAA,CAAAR,CAAA,IAAAD,iBAAA,CAAAP,CAAA,EAAAM,CAAA;AAAA,SAAAJ,iBAAAF,CAAA,8BAAAiB,MAAA,YAAAjB,CAAA,CAAAiB,MAAA,CAAAC,QAAA,aAAAlB,CAAA,uBAAAc,KAAA,CAAAC,IAAA,CAAAf,CAAA;AAAA,SAAAC,mBAAAD,CAAA,QAAAc,KAAA,CAAAK,OAAA,CAAAnB,CAAA,UAAAO,iBAAA,CAAAP,CAAA;AAAA,SAAAO,kBAAAP,CAAA,EAAAM,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAN,CAAA,CAAAoB,MAAA,MAAAd,CAAA,GAAAN,CAAA,CAAAoB,MAAA,YAAAvB,CAAA,MAAAwB,CAAA,GAAAP,KAAA,CAAAR,CAAA,GAAAT,CAAA,GAAAS,CAAA,EAAAT,CAAA,IAAAwB,CAAA,CAAAxB,CAAA,IAAAG,CAAA,CAAAH,CAAA,UAAAwB,CAAA;AAAA,SAAAC,QAAAC,CAAA,sCAAAD,OAAA,wBAAAL,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAK,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAN,MAAA,IAAAM,CAAA,CAAAX,WAAA,KAAAK,MAAA,IAAAM,CAAA,KAAAN,MAAA,CAAAO,SAAA,qBAAAD,CAAA,KAAAD,OAAA,CAAAC,CAAA;AAAA,SAAAE,QAAA5B,CAAA,EAAAG,CAAA,QAAAQ,CAAA,GAAAkB,MAAA,CAAAC,IAAA,CAAA9B,CAAA,OAAA6B,MAAA,CAAAE,qBAAA,QAAAL,CAAA,GAAAG,MAAA,CAAAE,qBAAA,CAAA/B,CAAA,GAAAG,CAAA,KAAAuB,CAAA,GAAAA,CAAA,CAAAM,MAAA,WAAA7B,CAAA,WAAA0B,MAAA,CAAAI,wBAAA,CAAAjC,CAAA,EAAAG,CAAA,EAAA+B,UAAA,OAAAvB,CAAA,CAAAwB,IAAA,CAAAC,KAAA,CAAAzB,CAAA,EAAAe,CAAA,YAAAf,CAAA;AAAA,SAAA0B,cAAArC,CAAA,aAAAG,CAAA,MAAAA,CAAA,GAAAmC,SAAA,CAAAf,MAAA,EAAApB,CAAA,UAAAQ,CAAA,WAAA2B,SAAA,CAAAnC,CAAA,IAAAmC,SAAA,CAAAnC,CAAA,QAAAA,CAAA,OAAAyB,OAAA,CAAAC,MAAA,CAAAlB,CAAA,OAAA4B,OAAA,WAAApC,CAAA,IAAAqC,eAAA,CAAAxC,CAAA,EAAAG,CAAA,EAAAQ,CAAA,CAAAR,CAAA,SAAA0B,MAAA,CAAAY,yBAAA,GAAAZ,MAAA,CAAAa,gBAAA,CAAA1C,CAAA,EAAA6B,MAAA,CAAAY,yBAAA,CAAA9B,CAAA,KAAAiB,OAAA,CAAAC,MAAA,CAAAlB,CAAA,GAAA4B,OAAA,WAAApC,CAAA,IAAA0B,MAAA,CAAAc,cAAA,CAAA3C,CAAA,EAAAG,CAAA,EAAA0B,MAAA,CAAAI,wBAAA,CAAAtB,CAAA,EAAAR,CAAA,iBAAAH,CAAA;AAAA,SAAA4C,yBAAA5C,CAAA,EAAAW,CAAA,gBAAAX,CAAA,iBAAA0B,CAAA,EAAAvB,CAAA,EAAA0C,CAAA,GAAAC,6BAAA,CAAA9C,CAAA,EAAAW,CAAA,OAAAkB,MAAA,CAAAE,qBAAA,QAAAP,CAAA,GAAAK,MAAA,CAAAE,qBAAA,CAAA/B,CAAA,QAAAG,CAAA,MAAAA,CAAA,GAAAqB,CAAA,CAAAD,MAAA,EAAApB,CAAA,IAAAuB,CAAA,GAAAF,CAAA,CAAArB,CAAA,UAAAQ,CAAA,CAAAoC,OAAA,CAAArB,CAAA,QAAAsB,oBAAA,CAAAnC,IAAA,CAAAb,CAAA,EAAA0B,CAAA,MAAAmB,CAAA,CAAAnB,CAAA,IAAA1B,CAAA,CAAA0B,CAAA,aAAAmB,CAAA;AAAA,SAAAC,8BAAA3C,CAAA,EAAAH,CAAA,gBAAAG,CAAA,iBAAAQ,CAAA,gBAAAa,CAAA,IAAArB,CAAA,SAAA8C,cAAA,CAAApC,IAAA,CAAAV,CAAA,EAAAqB,CAAA,gBAAAxB,CAAA,CAAA+C,OAAA,CAAAvB,CAAA,aAAAb,CAAA,CAAAa,CAAA,IAAArB,CAAA,CAAAqB,CAAA,YAAAb,CAAA;AAAA,SAAAuC,gBAAAzC,CAAA,EAAAe,CAAA,UAAAf,CAAA,YAAAe,CAAA,aAAAhB,SAAA;AAAA,SAAA2C,kBAAAnD,CAAA,EAAAG,CAAA,aAAAQ,CAAA,MAAAA,CAAA,GAAAR,CAAA,CAAAoB,MAAA,EAAAZ,CAAA,UAAAe,CAAA,GAAAvB,CAAA,CAAAQ,CAAA,GAAAe,CAAA,CAAAQ,UAAA,GAAAR,CAAA,CAAAQ,UAAA,QAAAR,CAAA,CAAA0B,YAAA,kBAAA1B,CAAA,KAAAA,CAAA,CAAA2B,QAAA,QAAAxB,MAAA,CAAAc,cAAA,CAAA3C,CAAA,EAAAsD,cAAA,CAAA5B,CAAA,CAAA6B,GAAA,GAAA7B,CAAA;AAAA,SAAA8B,aAAAxD,CAAA,EAAAG,CAAA,EAAAQ,CAAA,WAAAR,CAAA,IAAAgD,iBAAA,CAAAnD,CAAA,CAAA2B,SAAA,EAAAxB,CAAA,GAAAQ,CAAA,IAAAwC,iBAAA,CAAAnD,CAAA,EAAAW,CAAA,GAAAkB,MAAA,CAAAc,cAAA,CAAA3C,CAAA,iBAAAqD,QAAA,SAAArD,CAAA;AAAA,SAAAyD,WAAA9C,CAAA,EAAAe,CAAA,EAAA1B,CAAA,WAAA0B,CAAA,GAAAgC,eAAA,CAAAhC,CAAA,GAAAiC,0BAAA,CAAAhD,CAAA,EAAAiD,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAApC,CAAA,EAAA1B,CAAA,QAAA0D,eAAA,CAAA/C,CAAA,EAAAI,WAAA,IAAAW,CAAA,CAAAU,KAAA,CAAAzB,CAAA,EAAAX,CAAA;AAAA,SAAA2D,2BAAAhD,CAAA,EAAAX,CAAA,QAAAA,CAAA,iBAAAyB,OAAA,CAAAzB,CAAA,0BAAAA,CAAA,UAAAA,CAAA,iBAAAA,CAAA,YAAAQ,SAAA,qEAAAuD,sBAAA,CAAApD,CAAA;AAAA,SAAAoD,uBAAA/D,CAAA,mBAAAA,CAAA,YAAAgE,cAAA,sEAAAhE,CAAA;AAAA,SAAA4D,0BAAA,cAAAjD,CAAA,IAAAsD,OAAA,CAAAtC,SAAA,CAAAuC,OAAA,CAAArD,IAAA,CAAAgD,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAAtD,CAAA,aAAAiD,yBAAA,YAAAA,0BAAA,aAAAjD,CAAA;AAAA,SAAAwD,cAAAxD,CAAA,EAAAe,CAAA,EAAA1B,CAAA,EAAAG,CAAA,QAAAiE,CAAA,GAAAC,IAAA,CAAAX,eAAA,KAAAvD,CAAA,GAAAQ,CAAA,CAAAgB,SAAA,GAAAhB,CAAA,GAAAe,CAAA,EAAA1B,CAAA,cAAAG,CAAA,yBAAAiE,CAAA,aAAAzD,CAAA,WAAAyD,CAAA,CAAAhC,KAAA,CAAApC,CAAA,EAAAW,CAAA,OAAAyD,CAAA;AAAA,SAAAC,KAAA,WAAAA,IAAA,yBAAAR,OAAA,IAAAA,OAAA,CAAAS,GAAA,GAAAT,OAAA,CAAAS,GAAA,CAAAC,IAAA,eAAAvE,CAAA,EAAAW,CAAA,EAAAR,CAAA,QAAAiE,CAAA,GAAAI,cAAA,CAAAxE,CAAA,EAAAW,CAAA,OAAAyD,CAAA,QAAA5C,CAAA,GAAAK,MAAA,CAAAI,wBAAA,CAAAmC,CAAA,EAAAzD,CAAA,UAAAa,CAAA,CAAA8C,GAAA,GAAA9C,CAAA,CAAA8C,GAAA,CAAAzD,IAAA,CAAAyB,SAAA,CAAAf,MAAA,OAAAvB,CAAA,GAAAG,CAAA,IAAAqB,CAAA,CAAAiD,KAAA,OAAAJ,IAAA,CAAAjC,KAAA,OAAAE,SAAA;AAAA,SAAAoC,UAAA/D,CAAA,EAAAX,CAAA,6BAAAA,CAAA,aAAAA,CAAA,YAAAQ,SAAA,wDAAAG,CAAA,CAAAgB,SAAA,GAAAE,MAAA,CAAA8C,MAAA,CAAA3E,CAAA,IAAAA,CAAA,CAAA2B,SAAA,IAAAZ,WAAA,IAAA0D,KAAA,EAAA9D,CAAA,EAAA0C,QAAA,MAAAD,YAAA,WAAAvB,MAAA,CAAAc,cAAA,CAAAhC,CAAA,iBAAA0C,QAAA,SAAArD,CAAA,IAAA4E,eAAA,CAAAjE,CAAA,EAAAX,CAAA;AAAA,SAAA4E,gBAAAjE,CAAA,EAAAX,CAAA,WAAA4E,eAAA,GAAA/C,MAAA,CAAAgD,cAAA,GAAAhD,MAAA,CAAAgD,cAAA,CAAAN,IAAA,eAAA5D,CAAA,EAAAX,CAAA,WAAAW,CAAA,CAAAmE,SAAA,GAAA9E,CAAA,EAAAW,CAAA,KAAAiE,eAAA,CAAAjE,CAAA,EAAAX,CAAA;AAAA,SAAA+E,cAAApE,CAAA,EAAAX,CAAA,EAAA0B,CAAA,EAAAvB,CAAA,EAAAiE,CAAA,EAAAY,CAAA,WAAAC,IAAA,CAAAvB,eAAA,CAAAsB,CAAA,GAAArE,CAAA,CAAAgB,SAAA,GAAAhB,CAAA,GAAAX,CAAA,EAAA0B,CAAA,EAAAvB,CAAA,EAAAiE,CAAA;AAAA,SAAAc,IAAAlF,CAAA,EAAAG,CAAA,EAAAQ,CAAA,EAAAe,CAAA,WAAAwD,GAAA,yBAAArB,OAAA,IAAAA,OAAA,CAAAqB,GAAA,GAAArB,OAAA,CAAAqB,GAAA,aAAAlF,CAAA,EAAAG,CAAA,EAAAQ,CAAA,EAAAe,CAAA,QAAAsD,CAAA,EAAAnC,CAAA,GAAA2B,cAAA,CAAAxE,CAAA,EAAAG,CAAA,OAAA0C,CAAA,SAAAmC,CAAA,GAAAnD,MAAA,CAAAI,wBAAA,CAAAY,CAAA,EAAA1C,CAAA,GAAA+E,GAAA,SAAAF,CAAA,CAAAE,GAAA,CAAArE,IAAA,CAAAa,CAAA,EAAAf,CAAA,YAAAqE,CAAA,CAAA3B,QAAA,mBAAA2B,CAAA,GAAAnD,MAAA,CAAAI,wBAAA,CAAAP,CAAA,EAAAvB,CAAA,UAAA6E,CAAA,CAAA3B,QAAA,aAAA2B,CAAA,CAAAP,KAAA,GAAA9D,CAAA,EAAAkB,MAAA,CAAAc,cAAA,CAAAjB,CAAA,EAAAvB,CAAA,EAAA6E,CAAA,UAAAxC,eAAA,CAAAd,CAAA,EAAAvB,CAAA,EAAAQ,CAAA,iBAAAuE,GAAA,CAAAlF,CAAA,EAAAG,CAAA,EAAAQ,CAAA,EAAAe,CAAA;AAAA,SAAAuD,KAAAjF,CAAA,EAAAG,CAAA,EAAAQ,CAAA,EAAAe,CAAA,EAAAsD,CAAA,SAAAE,GAAA,CAAAlF,CAAA,EAAAG,CAAA,EAAAQ,CAAA,EAAAe,CAAA,IAAA1B,CAAA,KAAAgF,CAAA,YAAAxE,SAAA,mCAAAG,CAAA;AAAA,SAAA6D,eAAA7D,CAAA,EAAAe,CAAA,eAAAuB,cAAA,CAAApC,IAAA,CAAAF,CAAA,EAAAe,CAAA,eAAAf,CAAA,GAAA+C,eAAA,CAAA/C,CAAA,aAAAA,CAAA;AAAA,SAAA+C,gBAAA/C,CAAA,WAAA+C,eAAA,GAAA7B,MAAA,CAAAgD,cAAA,GAAAhD,MAAA,CAAAsD,cAAA,CAAAZ,IAAA,eAAA5D,CAAA,WAAAA,CAAA,CAAAmE,SAAA,IAAAjD,MAAA,CAAAsD,cAAA,CAAAxE,CAAA,MAAA+C,eAAA,CAAA/C,CAAA;AAAA,SAAA6B,gBAAAxC,CAAA,EAAAG,CAAA,EAAAQ,CAAA,YAAAR,CAAA,GAAAmD,cAAA,CAAAnD,CAAA,MAAAH,CAAA,GAAA6B,MAAA,CAAAc,cAAA,CAAA3C,CAAA,EAAAG,CAAA,IAAAsE,KAAA,EAAA9D,CAAA,EAAAuB,UAAA,MAAAkB,YAAA,MAAAC,QAAA,UAAArD,CAAA,CAAAG,CAAA,IAAAQ,CAAA,EAAAX,CAAA;AAAA,SAAAsD,eAAA3C,CAAA,QAAAkC,CAAA,GAAAuC,YAAA,CAAAzE,CAAA,gCAAAc,OAAA,CAAAoB,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAuC,aAAAzE,CAAA,EAAAR,CAAA,oBAAAsB,OAAA,CAAAd,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAX,CAAA,GAAAW,CAAA,CAAAS,MAAA,CAAAiE,WAAA,kBAAArF,CAAA,QAAA6C,CAAA,GAAA7C,CAAA,CAAAa,IAAA,CAAAF,CAAA,EAAAR,CAAA,gCAAAsB,OAAA,CAAAoB,CAAA,UAAAA,CAAA,YAAArC,SAAA,yEAAAL,CAAA,GAAAmF,MAAA,GAAAC,MAAA,EAAA5E,CAAA;AAE7C,IAAM6E,UAAU,GAAG,SAAbA,UAAUA,CAAIC,OAAO,EAAEC,GAAG,EAAEC,OAAO,EAAK;EAC1C,IAAIA,OAAO,EAAE;IACT,IAAIC,OAAO,GAAGD,OAAO,CAACE,IAAI,CAAC,UAAAC,CAAC;MAAA,OAAIA,CAAC,CAAC9D,MAAM,CAACyD,OAAO,CAACM,OAAO,CAAC;IAAA,EAAC;IAC1D,IAAIH,OAAO,EAAE;MACT,IAAMI,KAAK,GAAYJ,OAAO,CAAxBI,KAAK;QAAEC,KAAK,GAAKL,OAAO,CAAjBK,KAAK;MAClB,IAAIC,GAAG;MACP,IAAIF,KAAK,EAAE;QACPE,GAAG,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;QACnCF,GAAG,CAACG,GAAG,GAAGL,KAAK;MACnB,CAAC,MAAM;QACHE,GAAG,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;QACnCF,GAAG,CAACI,SAAS,sBAAsB;MACvC;MAEA,IAAIL,KAAK,EAAE;QACPC,GAAG,CAACD,KAAK,CAACM,OAAO,GAAGN,KAAK;MAC7B;MAEA,IAAMO,OAAO,GAAG,IAAIC,WAAO,CAAC;QACxBC,OAAO,EAAER,GAAG;QACZS,WAAW,EAAE,eAAe;QAC5BC,SAAS,EAAE,IAAI;QACfN,SAAS,EAAE;MACf,CAAC,CAAC;MAEFZ,GAAG,CAACF,UAAU,CAACgB,OAAO,CAAC;MAEvBA,OAAO,CAACK,WAAW,CAACpB,OAAO,CAACqB,WAAW,CAAC,CAAC,CAACC,cAAc,CAAC,CAAC,CAAC;MAE3D,OAAOP,OAAO;IAClB;EACJ;AACJ,CAAC;AAAC,IAEIQ,YAAY,0BAAAC,OAAA;EACd,SAAAD,aAAYE,QAAO,EAAE;IAAA,IAAAC,MAAA;IAAAjE,eAAA,OAAA8D,YAAA;IACjB,IACII,GAAG,GA8BHF,QAAO,CA9BPE,GAAG;MACHC,MAAM,GA6BNH,QAAO,CA7BPG,MAAM;MACNC,IAAI,GA4BJJ,QAAO,CA5BPI,IAAI;MACJC,SAAS,GA2BTL,QAAO,CA3BPK,SAAS;MACTC,QAAQ,GA0BRN,QAAO,CA1BPM,QAAQ;MACRC,aAAa,GAyBbP,QAAO,CAzBPO,aAAa;MACblE,GAAG,GAwBH2D,QAAO,CAxBP3D,GAAG;MACHvC,IAAI,GAuBJkG,QAAO,CAvBPlG,IAAI;MACJ0G,KAAK,GAsBLR,QAAO,CAtBPQ,KAAK;MACLC,WAAU,GAqBVT,QAAO,CArBPS,UAAU;MACVC,KAAK,GAoBLV,QAAO,CApBPU,KAAK;MACLC,OAAO,GAmBPX,QAAO,CAnBPW,OAAO;MACPC,QAAQ,GAkBRZ,QAAO,CAlBPY,QAAQ;MACRC,WAAW,GAiBXb,QAAO,CAjBPa,WAAW;MACXC,MAAM,GAgBNd,QAAO,CAhBPc,MAAM;MACNC,YAAY,GAeZf,QAAO,CAfPe,YAAY;MACZC,IAAI,GAcJhB,QAAO,CAdPgB,IAAI;MACJjC,OAAK,GAaLiB,QAAO,CAbPjB,KAAK;MACLkC,KAAK,GAYLjB,QAAO,CAZPiB,KAAK;MACLC,WAAW,GAWXlB,QAAO,CAXPkB,WAAW;MACXC,YAAY,GAUZnB,QAAO,CAVPmB,YAAY;MACZC,MAAM,GASNpB,QAAO,CATPoB,MAAM;MACNC,QAAQ,GAQRrB,QAAO,CARPqB,QAAQ;MACRC,OAAO,GAOPtB,QAAO,CAPPsB,OAAO;MACPC,UAAU,GAMVvB,QAAO,CANPuB,UAAU;MACV/C,GAAG,GAKHwB,QAAO,CALPxB,GAAG;MACHgD,WAAW,GAIXxB,QAAO,CAJPwB,WAAW;MACX/C,OAAO,GAGPuB,QAAO,CAHPvB,OAAO;MACPgD,WAAW,GAEXzB,QAAO,CAFPyB,WAAW;MACRC,KAAK,GAAAhG,wBAAA,CACRsE,QAAO,EAAAtH,SAAA;IAEX,IAAMiJ,KAAK,GAAAxG,aAAA,KACJuG,KAAK,CACX;IACDC,KAAK,CAACC,MAAM,GACRD,KAAK,CAACC,MAAM,IACZ,IAAIC,cAAY,CAAA1G,aAAA;MACZmF,QAAQ,EAARA;IAAQ,GACLC,aAAa,CACnB,CAAC;IAEN,IAAIuB,WAAW,GAAGd,IAAI;IACtB,IAAIC,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE5G,MAAM,EAAE;MACfyH,WAAW,GAAG,KAAK;MAEnB,IAAId,IAAI,EAAE;QACNC,KAAK,CAACzC,GAAG,CAAC,UAAAV,CAAC,EAAI;UACX,IAAIA,CAAC,CAACkD,IAAI,EAAE;YACRc,WAAW,GAAG,IAAI;UACtB;;UAEA;UACAhE,CAAC,CAAChD,MAAM,GAAG,IAAAiH,uBAAW,EAACjE,CAAC,CAAChD,MAAM,CAAC;QACpC,CAAC,CAAC;MACN;IACJ;IAEAmF,MAAA,GAAA1D,UAAA,OAAAuD,YAAA,GAAM6B,KAAK;IAAErG,eAAA,CAAA2E,MAAA,yBA+MK,UAAC+B,IAAI,EAAEhC,OAAO,EAAK;MACrC,IAAAiC,IAAA,GACIjC,OAAO,IAAIzF,OAAA,CAAOyF,OAAO,MAAK,QAAQ,GAAGA,OAAO,GAAG,CAAC,CAAC;QADjDkC,KAAK,GAAAD,IAAA,CAALC,KAAK;QAAEC,UAAU,GAAAF,IAAA,CAAVE,UAAU;QAAEC,gBAAgB,GAAAH,IAAA,CAAhBG,gBAAgB;QAAEC,qBAAqB,GAAAJ,IAAA,CAArBI,qBAAqB;QAAKC,QAAQ,GAAA5G,wBAAA,CAAAuG,IAAA,EAAAtJ,UAAA;MAE/E,IAAMoG,KAAK,GAAA5D,aAAA;QACPoH,IAAI,EAAEnE,MAAM,CAAC4D,IAAI,CAAC;QAClBQ,IAAI,EAAE,yBAAyB;QAC/BC,IAAI,EAAE,IAAIC,YAAI,CAAC;UACXR,KAAK,EAAEA,KAAK,IAAI;QACpB,CAAC,CAAC;QACFS,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACrBC,OAAO,EAAE,QAAQ;QACjBC,SAAS,EAAE,QAAQ;QACnBC,YAAY,EAAE,QAAQ;QACtBC,OAAO,EAAE,CAAC,EAAE;QACZC,OAAO,EAAE;MAAE,GACRV,QAAQ,CACd;MAED,IAAIH,UAAU,EAAE;QACZpD,KAAK,CAACkE,cAAc,GAAG,IAAIP,YAAI,CAAC;UAC5BR,KAAK,EAAEC;QACX,CAAC,CAAC;MACN;MAEA,IAAIC,gBAAgB,EAAE;QAClBrD,KAAK,CAACqD,gBAAgB,GAAG,IAAIc,cAAM,CAAC;UAChChB,KAAK,EAAE,SAAS;UAChBiB,KAAK,EAAEd,qBAAqB,IAAI;QACpC,CAAC,CAAC;MACN;MACA,OAAO,IAAIe,YAAI,CAACrE,KAAK,CAAC;IAC1B,CAAC;IAAAzD,eAAA,CAAA2E,MAAA,mBAEe,UAAC1B,OAAO,EAAE2D,KAAK,EAAK;MAChC,IAAMzB,UAAU,GAAKR,MAAA,CAAKoD,QAAQ,CAA5B5C,UAAU;;MAEhB;MACA,IAAIlC,OAAO,CAAC+E,SAAS,EAAE;QAAA,IAAAC,YAAA;QACnB,IAAMvB,IAAI,GAAG,EAAAuB,YAAA,GAAAhF,OAAO,CAACnB,GAAG,CAAC,UAAU,CAAC,cAAAmG,YAAA,uBAAvBA,YAAA,CAAyBlJ,MAAM,KAAI,CAAC;QACjD,IAAI2H,IAAI,KAAK,CAAC,EAAE;UACZ;QACJ;MACJ;MACA,IAAIvB,UAAU,EAAE;QACZ,OAAO,IAAI2C,YAAI,CAAC;UACZb,IAAI,EAAEhE,OAAO,CAACM,OAAO,CAAC4B,UAAU,CAAC,IAAI,GAAG;UACxC+B,IAAI,EAAE,yBAAyB;UAC/BC,IAAI,EAAE,IAAIC,YAAI,CAAC;YACXR,KAAK,EAALA;UACJ,CAAC,CAAC;UACFe,cAAc,EAAE,IAAIP,YAAI,CAAC;YACrBR,KAAK,EAAE;UACX,CAAC,CAAC;UACFE,gBAAgB,EAAE,IAAIc,cAAM,CAAC;YACzBhB,KAAK,EAALA,KAAK;YACLiB,KAAK,EAAE;UACX,CAAC,CAAC;UACFR,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;UACrBC,OAAO,EAAE,QAAQ;UACjBE,YAAY,EAAE,QAAQ;UACtBC,OAAO,EAAE;QACb,CAAC,CAAC;MACN;IACJ,CAAC;IA7QGlF,aAAA,EAAAoC,MAAA,EAAAH,YAAA,WAAakB,IAAI,EAAAf,MAAA;IACjB;IACAA,MAAA,CAAKoD,QAAQ,GAAGrD,QAAO;;IAEvB;IACAC,MAAA,CAAKzB,GAAG,GAAGA,GAAG;;IAEd;IACAyB,MAAA,CAAKC,GAAG,GAAGA,GAAG;;IAEd;IACAD,MAAA,CAAKa,MAAM,GAAGA,MAAM;;IAEpB;IACAb,MAAA,CAAKE,MAAM,GAAGA,MAAM;;IAEpB;IACAF,MAAA,CAAK5D,GAAG,GAAGA,GAAG;;IAEd;IACA4D,MAAA,CAAKnG,IAAI,GAAGA,IAAI;;IAEhB;IACAmG,MAAA,CAAKO,KAAK,GAAGA,KAAK;;IAElB;IACAP,MAAA,CAAKQ,UAAU,GAAGA,WAAU;;IAE5B;IACAR,MAAA,CAAKU,OAAO,GAAGA,OAAO;;IAEtB;IACAV,MAAA,CAAKuD,QAAQ,GAAG,CAAA7C,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE6C,QAAQ,KAAI,EAAE;;IAEvC;IACAvD,MAAA,CAAKS,KAAK,GAAGA,KAAK;;IAElB;IACAT,MAAA,CAAKY,WAAW,GAAGA,WAAW;;IAE9B;IACAZ,MAAA,CAAKW,QAAQ,GAAGA,QAAQ;;IAExB;IACAX,MAAA,CAAKc,YAAY,GAAGA,YAAY;;IAEhC;IACAd,MAAA,CAAKgB,KAAK,GAAGA,KAAK;;IAElB;IACAhB,MAAA,CAAKkB,YAAY,GAAGA,YAAY;;IAEhC;IACAlB,MAAA,CAAKsB,UAAU,GAAGA,UAAU;;IAE5B;IACAtB,MAAA,CAAKmB,MAAM,GAAGA,MAAM;;IAEpB;IACAnB,MAAA,CAAKlB,KAAK,GAAGA,OAAK;;IAElB;IACAkB,MAAA,CAAKG,IAAI,GAAGA,IAAI;;IAEhB;IACAH,MAAA,CAAKI,SAAS,GAAGA,SAAS,IAAI,cAAc;;IAE5C;IACAJ,MAAA,CAAKoB,QAAQ,GAAGA,QAAQ;;IAExB;IACApB,MAAA,CAAKwD,MAAM,GAAG,KAAK;;IAEnB;IACAxD,MAAA,CAAKqB,OAAO,GAAGA,OAAO;;IAEtB;IACArB,MAAA,CAAKuB,WAAW,GAAGA,WAAW;;IAE9B;IACAvB,MAAA,CAAKwB,WAAW,GAAGA,WAAW;;IAE9B;IACA,IAAIhD,OAAO,EAAE;MACTwB,MAAA,CAAKxB,OAAO,GAAG,CAAC1E,KAAK,CAACK,OAAO,CAACqE,OAAO,CAAC,GAAGA,OAAO,GAAG,CAACA,OAAO,CAAC,EAAED,GAAG,CAAC,UAAAkF,IAAI,EAAI;QACtE,IAAM5I,MAAM,GAAY4I,IAAI,CAAtB5I,MAAM;UAAEiE,KAAK,GAAK2E,IAAI,CAAd3E,KAAK;QACnBjE,MAAM,GAAG,IAAAiH,uBAAW,EAACjH,MAAM,CAAC;QAC5B,IAAIiE,KAAK,EAAE;UACPA,KAAK,GAAG2E,IAAI,CAAC3E,KAAK,IAAIxE,OAAA,CAAOmJ,IAAI,CAAC3E,KAAK,MAAK,QAAQ,GAAGA,KAAK,GAAG;YAAEmD,KAAK,EAAEnD;UAAM,CAAC;UAC/EA,KAAK,GAAG,IAAA4E,6BAAiB,EAAC5E,KAAK,CAAC;QACpC;QACA,OAAA5D,aAAA,CAAAA,aAAA,KACOuI,IAAI;UACP5I,MAAM,EAANA,MAAM;UACNiE,KAAK,EAALA;QAAK;MAEb,CAAC,CAAC;IACN;;IAEA;IACAkB,MAAA,CAAK2D,SAAS,GAAG,EAAE;;IAEnB;IACA,IAAI9B,WAAW,EAAE;MACb7B,MAAA,CAAK4D,IAAI,CAAC,CAAC;IACf;IAAC,OAAA5D,MAAA;EACL;;EAEA;EAAAzC,SAAA,CAAAsC,YAAA,EAAAC,OAAA;EAAA,OAAAzD,YAAA,CAAAwD,YAAA;IAAAzD,GAAA;IAAAkB,KAAA,EACA,SAAAsG,IAAIA,CAAA,EAAG;MACH;MACA,IAAI,IAAI,CAAC3D,GAAG,EAAE;QACV;QACA,IAAI,CAAC4D,WAAW,CAAC,IAAI,CAAC5D,GAAG,EAAE,IAAI,CAACC,MAAM,EAAE,IAAI,CAACW,MAAM,CAAC;MACxD;;MAEA;MACA,IAAI,IAAI,CAACV,IAAI,EAAE;QACX;QACA,IAAI,CAAC2D,QAAQ,CAAC,IAAI,CAAC3D,IAAI,CAAC;MAC5B;MAEA,IAAI,CAACqD,MAAM,GAAG,IAAI;IACtB;;IAEA;EAAA;IAAApH,GAAA;IAAAkB,KAAA,EACA,SAAAyG,8BAA8BA,CAAA,EAAgD;MAAA,IAA/C1D,QAAQ,GAAAlF,SAAA,CAAAf,MAAA,QAAAe,SAAA,QAAA6I,SAAA,GAAA7I,SAAA,MAAG,IAAI,CAACwI,SAAS;MAAA,IAAE3C,KAAK,GAAA7F,SAAA,CAAAf,MAAA,QAAAe,SAAA,QAAA6I,SAAA,GAAA7I,SAAA,MAAG,IAAI,CAAC6F,KAAK;MACxE,IAAI,EAACA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE5G,MAAM,KAAI,EAACiG,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEjG,MAAM,GAAE;QACrC;MACJ;;MAEA;MACA,IAAM6J,aAAa,GAAGjD,KAAK,CAACnG,MAAM,CAAC,UAAA8D,CAAC;QAAA,OAAI,CAACA,CAAC,CAAC7C,cAAc,CAAC,MAAM,CAAC,IAAI6C,CAAC,CAACoC,IAAI;MAAA,EAAC;MAC5E,IAAMmD,UAAU,GAAGD,aAAa,CAAC7J,MAAM,GAAG,CAAC;MAE3CiG,QAAQ,CAACjF,OAAO,CAAC,UAAAkD,OAAO,EAAI;QACxB,IAAIyC,IAAI,GAAG,KAAK;QAEhBC,KAAK,CAAC5F,OAAO,CAAC,UAAAuD,CAAC,EAAI;UAAA,IAAAwF,SAAA;UACfxF,CAAC,CAAC9D,MAAM,GAAG,IAAAiH,uBAAW,EAACnD,CAAC,CAAC9D,MAAM,CAAC;UAChC,IACIqJ,UAAU,KACT,CAACvF,CAAC,CAAC7C,cAAc,CAAC,MAAM,CAAC,IAAI6C,CAAC,CAACoC,IAAI,CAAC,IACrCpC,CAAC,aAADA,CAAC,gBAAAwF,SAAA,GAADxF,CAAC,CAAE9D,MAAM,cAAAsJ,SAAA,eAATA,SAAA,CAAAzK,IAAA,CAAAiF,CAAC,EAAWL,OAAO,CAACM,OAAO,CAAC,EAC9B;YACEmC,IAAI,GAAG,IAAI;UACf;QACJ,CAAC,CAAC;QAEFzC,OAAO,CAACyC,IAAI,GAAGA,IAAI;MACvB,CAAC,CAAC;IACN;;IAEA;EAAA;IAAA3E,GAAA;IAAAe,GAAA,EACA,SAAAA,IAAA,EAAW;MACP,OAAAH,aAAA,CAAA6C,YAAA;IACJ,CAAC;IAAA9B,GAAA,EAED,SAAAA,IAAST,KAAK,EAAE;MACZ,IAAI,CAAC8G,UAAU,CAAC9G,KAAK,CAAC;IAC1B;EAAC;IAAAlB,GAAA;IAAA2B,GAAA,EAED,SAAAA,IAAUsG,GAAG,EAAE;MACX,IAAI,CAACjB,QAAQ,CAAC7C,KAAK,GAAG8D,GAAG;MACzB,IAAI,CAACC,QAAQ,CAAC,IAAI,CAACC,cAAc,CAAC,CAAC,CAAC;IACxC;EAAC;IAAAnI,GAAA;IAAA2B,GAAA,EAED,SAAAA,IAAUsG,GAAG,EAAE;MACX,IAAI,CAACjB,QAAQ,CAAC3C,KAAK,GAAG4D,GAAG;MACzB,IAAI,CAACC,QAAQ,CAAC,IAAI,CAACC,cAAc,CAAC,CAAC,CAAC;IACxC;EAAC;IAAAnI,GAAA;IAAA2B,GAAA,EAED,SAAAA,IAAYsG,GAAG,EAAE;MACb,IAAI,CAACG,cAAc,CAACH,GAAG,CAAC;IAC5B;EAAC;IAAAjI,GAAA;IAAAkB,KAAA,EAED,SAAAmH,OAAOA,CAACnH,KAAK,EAAE;MACX,IAAI,CAACyD,IAAI,GAAGzD,KAAK;MACjB,IAAI,CAAC8G,UAAU,CAAC9G,KAAK,CAAC;IAC1B;EAAC;IAAAlB,GAAA;IAAAkB,KAAA,EAED,SAAAkH,cAAcA,CAACH,GAAG,EAAE;MAAA,IAAAK,MAAA;MAChB,IAAAC,KAAA,GAAiB,IAAAC,oBAAQ,EAACP,GAAG,CAAC,GAAGA,GAAG,GAAG;UAAEtD,IAAI,EAAEsD;QAAI,CAAC;QAA5CtD,IAAI,GAAA4D,KAAA,CAAJ5D,IAAI;MACZ,IAAI,CAAC8D,gBAAgB,CAACR,GAAG,CAAC;MAC1B,IAAI,CAACC,QAAQ,CAAC,IAAI,CAACC,cAAc,CAAC,CAAC,CAAC;MAEpC,IAAI,IAAI,CAAChG,GAAG,IAAIwC,IAAI,EAAE;QAClB,IAAMxC,GAAG,GAAG,IAAI,CAACA,GAAG;QACpB,IAAI,CAACuG,OAAO,CAAC,CAAC;;QAEd;QACA,IAAIC,OAAO,GAAGxG,GAAG,CAACyG,OAAO,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;QACrC,IAAI,CAACC,OAAO,GAAG3G,GAAG,CAAC4G,EAAE,CAAC,SAAS,EAAE,YAAM;UACnC,IAAMC,IAAI,GAAG7G,GAAG,CAACyG,OAAO,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;UACtC,IAAIF,OAAO,KAAKK,IAAI,EAAE;YAAA,IAAAC,qBAAA;YAClBN,OAAO,GAAGK,IAAI;YACd,IAAIA,IAAI,KAAK,EAAAC,qBAAA,GAAAX,MAAI,CAACtB,QAAQ,CAAC1C,OAAO,cAAA2E,qBAAA,uBAArBA,qBAAA,CAAuBC,aAAa,KAAI,EAAE,CAAC,EAAE;cACtDZ,MAAI,CAACG,gBAAgB,CAAC,CAAC;YAC3B,CAAC,MAAM;cACHH,MAAI,CAACG,gBAAgB,CAACR,GAAG,CAAC;YAC9B;UACJ;QACJ,CAAC,CAAC;MACN;IACJ;EAAC;IAAAjI,GAAA;IAAAkB,KAAA,EAmED,SAAAiI,qBAAqBA,CAACjH,OAAO,EAAEkH,YAAY,EAAE;MAAA,IAAAC,aAAA;MACzC,IAAQC,IAAI,GAA0EF,YAAY,CAA1FE,IAAI;QAAEC,OAAO,GAAiEH,YAAY,CAApFG,OAAO;QAAE1D,KAAK,GAA0DuD,YAAY,CAA3EvD,KAAK;QAAA2D,mBAAA,GAA0DJ,YAAY,CAApEK,KAAK;QAALA,KAAK,GAAAD,mBAAA,cAAG,CAAC,GAAAA,mBAAA;QAAEE,WAAW,GAAkCN,YAAY,CAAzDM,WAAW;QAAEC,WAAW,GAAqBP,YAAY,CAA5CO,WAAW;QAAK9E,WAAW,GAAAxF,wBAAA,CAAK+J,YAAY,EAAA7M,UAAA;MAClG,IAAMoJ,IAAI,GAAG,EAAA0D,aAAA,GAAAnH,OAAO,CAACnB,GAAG,CAAC,UAAU,CAAC,cAAAsI,aAAA,uBAAvBA,aAAA,CAAyBrL,MAAM,KAAI,CAAC;MAEjD,OAAO,CACH,IAAI4L,oBAAQ,CAACC,MAAM,CAAC;QAChBpH,KAAK,EAAE,IAAAqH,iBAAS,EAACR,IAAI,IAAI,YAAY,EAAE;UACnCzD,KAAK,EAAEA,KAAK,IAAI,SAAS;UACzBkE,UAAU,EAAE,IAAI;UAChBC,IAAI,EAAE;YAAE9D,IAAI,EAAEP,IAAI;YAAEsE,QAAQ,EAAE;UAAG;QACrC,CAAC,CAAC;QACF;QACAR,KAAK,EAAEE,WAAW,IAAI;MAC1B,CAAC,CAAC,EACF,IAAIC,oBAAQ,CAACC,MAAM,CAAA/K,aAAA;QACf2D,KAAK,EAAE8G,OAAO;QACdE,KAAK,EAAEA,KAAK,IAAI,CAAC;QACjBS,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI;MAAC,GAChBrF,WAAW,CACjB,CAAC,CACL;IACL;EAAC;IAAA7E,GAAA;IAAAkB,KAAA,EAED,SAAAiH,cAAcA,CAAA,EAAG;MAAA,IAAAgC,MAAA;MACb,OAAO,UAACjI,OAAO,EAAEkI,UAAU,EAAK;QAAA,IAAAC,aAAA,EAAAC,YAAA,EAAAC,cAAA;QAC5B,IAAM5E,IAAI,GAAG,EAAA0E,aAAA,GAAAnI,OAAO,CAACnB,GAAG,CAAC,UAAU,CAAC,cAAAsJ,aAAA,uBAAvBA,aAAA,CAAyBrM,MAAM,KAAI,CAAC;QACjD,IAAAwM,eAAA,GAAqCL,MAAI,CAACnD,QAAQ;UAA5CtE,KAAK,GAAA8H,eAAA,CAAL9H,KAAK;UAAE4B,OAAO,GAAAkG,eAAA,CAAPlG,OAAO;UAAEmG,UAAU,GAAAD,eAAA,CAAVC,UAAU;QAChC,IAAI9F,IAAI,GAAG,IAAI;;QAEf;QACA,IAAIzC,OAAO,IAAIA,OAAO,CAACxC,cAAc,CAAC,MAAM,CAAC,IAAI,CAACwC,OAAO,CAACyC,IAAI,EAAE;UAC5D,OAAO,IAAI;QACf;QAEA,KAAA2F,YAAA,GAAIH,MAAI,CAACvF,KAAK,cAAA0F,YAAA,eAAVA,YAAA,CAAYtM,MAAM,EAAE;UACpB,IAAM6J,aAAa,GAAGsC,MAAI,CAACvF,KAAK,CAACnG,MAAM,CAAC,UAAA8D,CAAC;YAAA,OAAI,CAACA,CAAC,CAAC7C,cAAc,CAAC,MAAM,CAAC,IAAI6C,CAAC,CAACoC,IAAI;UAAA,EAAC;UACjF;UACA,IAAIkD,aAAa,CAAC7J,MAAM,EAAE;YACtB2G,IAAI,GAAGkD,aAAa,CAAC6C,IAAI,CAAC,UAAAnI,CAAC;cAAA,IAAAoI,UAAA;cAAA,OAAIpI,CAAC,aAADA,CAAC,gBAAAoI,UAAA,GAADpI,CAAC,CAAE9D,MAAM,cAAAkM,UAAA,uBAATA,UAAA,CAAArN,IAAA,CAAAiF,CAAC,EAAWL,OAAO,CAACM,OAAO,CAAC;YAAA,EAAC;UAChE,CAAC,MAAM;YACHmC,IAAI,GAAG,KAAK;UAChB;;UAEA;UACAwF,MAAI,CAACvF,KAAK,CAACzC,GAAG,CAAC,UAAAI,CAAC,EAAI;YAAA,IAAAqI,UAAA;YAChB,IAAIrI,CAAC,aAADA,CAAC,gBAAAqI,UAAA,GAADrI,CAAC,CAAE9D,MAAM,cAAAmM,UAAA,eAATA,UAAA,CAAAtN,IAAA,CAAAiF,CAAC,EAAWL,OAAO,CAACM,OAAO,CAAC,EAAE;cAC9BE,KAAK,GAAGH,CAAC,CAACG,KAAK,IAAIA,KAAK;YAC5B;UACJ,CAAC,CAAC;QACN;QACAR,OAAO,CAACyC,IAAI,GAAGA,IAAI;QAEnB,IAAI,CAACA,IAAI,EAAE;UACP,OAAO,IAAI;QACf;QAEA,IAAMkG,MAAM,GAAG,EAAE;QAEjB,IAAIJ,UAAU,EAAE;UACZ,IAAI,IAAAK,sBAAU,EAACL,UAAU,CAAC,EAAE;YACxB,IAAMM,OAAO,GAAGN,UAAU,CAACvI,OAAO,EAAEkI,UAAU,CAAC;YAC/C,IAAIW,OAAO,EAAE;cACT,IAAIrN,KAAK,CAACK,OAAO,CAAC8M,MAAM,CAAC,EAAE;gBACvBA,MAAM,CAACjM,IAAI,CAAAC,KAAA,CAAXgM,MAAM,EAAAlO,kBAAA,CAASoO,OAAO,EAAC;cAC3B,CAAC,MAAM;gBACHF,MAAM,CAACjM,IAAI,CAACmM,OAAO,CAAC;cACxB;YACJ;UACJ;QACJ;QAEA,IAAIpF,IAAI,GAAG,CAAC,IAAIrB,OAAO,aAAPA,OAAO,gBAAAiG,cAAA,GAAPjG,OAAO,CAAE5B,KAAK,cAAA6H,cAAA,eAAdA,cAAA,CAAgBhB,OAAO,EAAE;UACrC,OAAOY,MAAI,CAAChB,qBAAqB,CAACjH,OAAO,EAAEoC,OAAO,CAAC5B,KAAK,CAAC;QAC7D;QACA,IAAIA,KAAK,EAAE;UACP,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAK,IAAAoI,sBAAU,EAACpI,KAAK,CAAC,IAAI4B,OAAQ,EAAE;YAC7DuG,MAAM,CAACjM,IAAI,CAAC,IAAIgL,oBAAQ,CAACC,MAAM,CAAA/K,aAAA,KAAMqL,MAAI,CAACa,gBAAgB,CAAC9I,OAAO,EAAEQ,KAAK,CAAC,CAAE,CAAC,CAAC;YAC9E,OAAOmI,MAAM;UACjB,CAAC,MAAM,IAAInI,KAAK,YAAYuI,aAAK,EAAE;YAC/B;YACAJ,MAAM,CAACjM,IAAI,CAAC8D,KAAK,CAAC;YAClB,OAAOmI,MAAM;UACjB,CAAC,MAAM,IAAI,IAAAC,sBAAU,EAACpI,KAAK,CAAC,EAAE;YAC1B;;YAEA,IAAIwI,MAAM,GAAGxI,KAAK,CAACR,OAAO,CAAC;YAC3B,IAAIgJ,MAAM,aAANA,MAAM,eAANA,MAAM,CAAE5B,IAAI,IAAI4B,MAAM,aAANA,MAAM,eAANA,MAAM,CAAExI,KAAK,EAAE;cAC/B,IAAMiB,OAAO,GAAGwG,MAAI,CAACgB,cAAc,CAACjJ,OAAO,EAAEgJ,MAAM,CAAC;cACpDL,MAAM,CAACjM,IAAI,CAACgL,oBAAQ,CAACwB,MAAM,CAACzH,OAAO,CAAC,CAAC;cACrC,OAAOkH,MAAM;YACjB;YAEAA,MAAM,CAACjM,IAAI,CAACsM,MAAM,CAAC;YACnB,OAAOL,MAAM;UACjB,CAAC,MAAM,IAAI,IAAArC,oBAAQ,EAAC9F,KAAK,CAAC,EAAE;YACxB,IAAA2I,OAAA,GAAe3I,KAAK;cAAd4I,IAAI,GAAAD,OAAA,CAAJC,IAAI;YACV,IAAIA,IAAI,EAAE;cACN,IAAIA,IAAI,KAAK,QAAQ,EAAE;gBACnB,IAAM3H,SAAO,GAAGwG,MAAI,CAACgB,cAAc,CAACjJ,OAAO,EAAEQ,KAAK,CAAC6I,MAAM,CAAC;gBAC1DV,MAAM,CAACjM,IAAI,CAACgL,oBAAQ,CAACwB,MAAM,CAACzH,SAAO,CAAC,CAAC;gBACrC,OAAOkH,MAAM;cACjB;cAEA,IAAIS,IAAI,KAAK,aAAa,EAAE;gBACxB,IAAI3F,IAAI,GAAG,CAAC,EAAE;kBACV,IAAMhC,SAAO,GAAGwG,MAAI,CAACgB,cAAc,CAC/BjJ,OAAO,EACPQ,KAAK,CAAC6I,MAAM,CAACA,MAAM,CAAC,CAAC,CACzB,CAAC;kBACDV,MAAM,CAACjM,IAAI,CAACgL,oBAAQ,CAACwB,MAAM,CAACzH,SAAO,CAAC,CAAC;kBACrC,OAAOkH,MAAM;gBACjB;gBAEA,IAAMlH,SAAO,GAAGwG,MAAI,CAACqB,gBAAgB,CAACtJ,OAAO,EAAEQ,KAAK,CAAC6I,MAAM,CAAC;gBAC5DV,MAAM,CAACjM,IAAI,CAACgL,oBAAQ,CAAC6B,WAAW,CAACvJ,OAAO,EAAEyB,SAAO,CAAC,CAAC;gBACnD,OAAOkH,MAAM;cACjB;cAEA,IAAIS,IAAI,KAAK,aAAa,EAAE;gBACxB,IAAI3F,IAAI,GAAG,CAAC,EAAE;kBACV,IAAMhC,SAAO,GAAGwG,MAAI,CAACgB,cAAc,CAC/BjJ,OAAO,EACPQ,KAAK,CAAC6I,MAAM,CAACA,MAAM,CAAC,CAAC,CACzB,CAAC;kBACDV,MAAM,CAACjM,IAAI,CAACgL,oBAAQ,CAACwB,MAAM,CAACzH,SAAO,CAAC,CAAC;kBACrC,OAAOkH,MAAM;gBACjB;gBAEA,IAAMlH,SAAO,GAAGwG,MAAI,CAACqB,gBAAgB,CAACtJ,OAAO,EAAEQ,KAAK,CAAC6I,MAAM,CAAC;gBAC5DV,MAAM,CAACjM,IAAI,CAACgL,oBAAQ,CAAC8B,WAAW,CAACxJ,OAAO,EAAEyB,SAAO,CAAC,CAAC;gBACnD,OAAOkH,MAAM;cACjB;YACJ,CAAC,MAAM,IAAInI,KAAK,CAACA,KAAK,EAAE;cACpB,IAAMiB,SAAO,GAAGwG,MAAI,CAACgB,cAAc,CAACjJ,OAAO,EAAEQ,KAAK,CAAC;cACnDmI,MAAM,CAACjM,IAAI,CAACgL,oBAAQ,CAACwB,MAAM,CAACzH,SAAO,CAAC,CAAC;cACrC,OAAOkH,MAAM;YACjB;UACJ;QACJ;QACAA,MAAM,CAACjM,IAAI,CACP,IAAIqM,aAAK,CAAC;UACNxI,KAAK,EAAE,IAAIkJ,cAAM,CAAC;YACdC,MAAM,EAAE,CAAC;YACTxF,IAAI,EAAE,IAAIC,YAAI,CAAC;cACXR,KAAK,EAAE;YACX,CAAC;UACL,CAAC,CAAC;UACFO,IAAI,EAAE,IAAIC,YAAI,CAAC;YACXR,KAAK,EAAE;UACX,CAAC,CAAC;UACFgG,MAAM,EAAE,IAAIhF,cAAM,CAAC;YACfhB,KAAK,EAAE,SAAS;YAChBiB,KAAK,EAAE;UACX,CAAC;QACL,CAAC,CACL,CAAC;QACD,OAAO+D,MAAM;MACjB,CAAC;IACL;EAAC;IAAA7K,GAAA;IAAAkB,KAAA,EAED,SAAAiK,cAAcA,CAACjJ,OAAO,EAAE4J,OAAO,EAAE;MAAA,IAAAC,aAAA,EAAAC,cAAA;MAC7B,IAAM1H,OAAO,GAAK,IAAI,CAAC0C,QAAQ,CAAzB1C,OAAO;MACb,IAAMiH,MAAM,GAAAzM,aAAA,KAAQgN,OAAO,CAAE;MAC7B,IACIP,MAAM,CAACjC,IAAI,KAAK,QAAQ,KACvBiC,MAAM,aAANA,MAAM,gBAAAQ,aAAA,GAANR,MAAM,CAAE7I,KAAK,cAAAqJ,aAAA,eAAbA,aAAA,CAAeE,IAAI,IAAK3H,OAAO,IAAIiH,MAAM,aAANA,MAAM,gBAAAS,cAAA,GAANT,MAAM,CAAE7I,KAAK,cAAAsJ,cAAA,eAAbA,cAAA,CAAevJ,KAAM,CAAC,EAC5D;QACE8I,MAAM,CAAC7I,KAAK,GAAA5D,aAAA,CAAAA,aAAA,KACLyM,MAAM,CAAC7I,KAAK,GACZ,IAAI,CAACsI,gBAAgB,CAAC9I,OAAO,EAAEqJ,MAAM,CAAC7I,KAAK,CAAC,CAClD;MACL;MAEA,OAAO6I,MAAM;IACjB;EAAC;IAAAvL,GAAA;IAAAkB,KAAA,EAED,SAAAsK,gBAAgBA,CAACtJ,OAAO,EAAE4J,OAAO,EAAE;MAAA,IAAAI,cAAA;QAAAC,MAAA;MAC/B,IAAMZ,MAAM,GAAAzM,aAAA,KAAQgN,OAAO,CAAE;MAE7B,IAAIP,MAAM,aAANA,MAAM,gBAAAW,cAAA,GAANX,MAAM,CAAEA,MAAM,cAAAW,cAAA,eAAdA,cAAA,CAAgBlO,MAAM,EAAE;QACxBuN,MAAM,CAACA,MAAM,GAAGA,MAAM,CAACA,MAAM,CAACpJ,GAAG,CAAC,UAAAI,CAAC;UAAA,OAAI4J,MAAI,CAAChB,cAAc,CAACjJ,OAAO,EAAEK,CAAC,CAAC;QAAA,EAAC;MAC3E;MAEA,OAAOgJ,MAAM;IACjB;EAAC;IAAAvL,GAAA;IAAAkB,KAAA,EAED,SAAA8J,gBAAgBA,CAAC9I,OAAO,EAAEQ,KAAK,EAAE;MAAA,IAAA0J,aAAA;MAC7B,IAAIH,IAAI,GAAG,CAAAvJ,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEuJ,IAAI,KAAIvJ,KAAK;MAC/B,IAAID,KAAK,GAAGC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAED,KAAK;MACxB,IAAIgH,KAAK,GAAG/G,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE+G,KAAK;MACxB,IAAI5D,KAAK,GAAG,CAAAnD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEmD,KAAK,KAAI,SAAS;MACrC,IAAIwG,QAAQ,GAAG,CAAA3J,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEiD,IAAI,KAAI,IAAI;MAClC,IAAIoE,UAAU,GAAG,CAAArH,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEqH,UAAU,KAAI,IAAI;MAC1C,IAAAuC,cAAA,GAAgC,IAAI,CAACtF,QAAQ;QAAvC1C,OAAO,GAAAgI,cAAA,CAAPhI,OAAO;QAAED,KAAK,GAAAiI,cAAA,CAALjI,KAAK;QAAEF,KAAK,GAAAmI,cAAA,CAALnI,KAAK;MAC3B;MACA,IAAIoI,KAAK,GAAG,IAAAzB,sBAAU,EAACpI,KAAK,CAAC;MAC7B,IAAIqB,IAAI,GAAG,CAAC,CAAC;MACb,IAAIwI,KAAK,EAAE;QAAA,IAAAC,KAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,OAAA;QACPpJ,IAAI,GAAGrB,KAAK,CAACR,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B+J,IAAI,GAAG,EAAAO,KAAA,GAAAzI,IAAI,cAAAyI,KAAA,gBAAAA,KAAA,GAAJA,KAAA,CAAM9J,KAAK,cAAA8J,KAAA,uBAAXA,KAAA,CAAaP,IAAI,OAAAQ,MAAA,GAAI1I,IAAI,cAAA0I,MAAA,uBAAJA,MAAA,CAAMR,IAAI,KAAIA,IAAI;QAC9CpG,KAAK,GAAG,EAAA6G,MAAA,GAAA3I,IAAI,cAAA2I,MAAA,gBAAAA,MAAA,GAAJA,MAAA,CAAMhK,KAAK,cAAAgK,MAAA,uBAAXA,MAAA,CAAa7G,KAAK,OAAA8G,MAAA,GAAI5I,IAAI,cAAA4I,MAAA,uBAAJA,MAAA,CAAM9G,KAAK,KAAIA,KAAK;QAClDpD,KAAK,GAAG,EAAAmK,MAAA,GAAA7I,IAAI,cAAA6I,MAAA,gBAAAA,MAAA,GAAJA,MAAA,CAAMlK,KAAK,cAAAkK,MAAA,uBAAXA,MAAA,CAAanK,KAAK,OAAAoK,MAAA,GAAI9I,IAAI,cAAA8I,MAAA,uBAAJA,MAAA,CAAMpK,KAAK,KAAIA,KAAK;QAClDgH,KAAK,GAAG,EAAAqD,MAAA,GAAA/I,IAAI,cAAA+I,MAAA,gBAAAA,MAAA,GAAJA,MAAA,CAAMpK,KAAK,cAAAoK,MAAA,uBAAXA,MAAA,CAAarD,KAAK,OAAAsD,MAAA,GAAIhJ,IAAI,cAAAgJ,MAAA,uBAAJA,MAAA,CAAMtD,KAAK,KAAIA,KAAK;QAClD4C,QAAQ,GAAG,EAAAW,MAAA,GAAAjJ,IAAI,cAAAiJ,MAAA,gBAAAA,MAAA,GAAJA,MAAA,CAAMtK,KAAK,cAAAsK,MAAA,uBAAXA,MAAA,CAAarH,IAAI,OAAAsH,MAAA,GAAIlJ,IAAI,cAAAkJ,MAAA,uBAAJA,MAAA,CAAMtH,IAAI,KAAI0G,QAAQ;QACtDtC,UAAU,GAAG,EAAAmD,MAAA,GAAAnJ,IAAI,cAAAmJ,MAAA,gBAAAA,MAAA,GAAJA,MAAA,CAAMxK,KAAK,cAAAwK,MAAA,uBAAXA,MAAA,CAAanD,UAAU,OAAAoD,OAAA,GAAIpJ,IAAI,cAAAoJ,OAAA,uBAAJA,OAAA,CAAMpD,UAAU,KAAIA,UAAU;MAC1E;MAEA,IAAMpE,IAAI,GAAG,EAAAyG,aAAA,GAAAlK,OAAO,CAACnB,GAAG,CAAC,UAAU,CAAC,cAAAqL,aAAA,uBAAvBA,aAAA,CAAyBpO,MAAM,KAAI,CAAC;MACjD,IAAM6G,WAAW,GAAG;QAChBc,IAAI,EAAE0G,QAAQ;QACdtC,UAAU,EAAVA;MACJ,CAAC;MACD,IAAIqD,CAAC,GAAG;QACJC,MAAM,EAAE;UACJ;UACApB,IAAI,EAAJA,IAAI;UACJxJ,KAAK,EAALA,KAAK;UACLoC,WAAW,EAAXA,WAAW;UACX4E,KAAK,EAALA;QACJ,CAAC;QACDpF,KAAK,EAAE;UACH;UACA4H,IAAI,EAAJA,IAAI;UACJ3C,IAAI,EAAE,WAAW;UACjBzE,WAAW,EAAXA;QACJ,CAAC;QACDyI,cAAc,EAAAxO,aAAA;UACV;UACAmN,IAAI,EAAJA,IAAI;UACJxJ,KAAK,EAALA,KAAK;UACLgH,KAAK,EAALA,KAAK;UACL5D,KAAK,EAAEF,IAAI,GAAG,CAAC,GAAG,EAAE,GAAGE,KAAK;UAC5BhB,WAAW,EACPc,IAAI,GAAG,CAAC,GAAA7G,aAAA;YAEEiL,UAAU,EAAE,IAAI;YAChBC,IAAI,EAAE;cAAE9D,IAAI,EAAE,EAAE;cAAE+D,QAAQ,EAAE;YAAG;UAAC,GAC5B,CAAA3F,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEO,WAAW,KAAI,CAAC,CAAC,IAElC,CAAC;QAAC,GACRc,IAAI,GAAG,CAAC,GAAGrB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE5B,KAAK,GAAG4B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEiJ,WAAW,CACvD;QACDC,aAAa,EAAA1O,aAAA;UACT;UACAmN,IAAI,EAAJA,IAAI;UACJ3C,IAAI,EAAE,WAAW;UACjBzE,WAAW,EACPc,IAAI,GAAG,CAAC,GACF;YACIO,IAAI,EAAEP;UACV,CAAC,GACD,CAAC;QAAC,GACRA,IAAI,GAAG,CAAC,KAAIrB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE5B,KAAK;MAEtC,CAAC;MAED,IAAI4G,IAAI,GAAGjF,KAAK,GAAG,OAAO,GAAG,QAAQ;MAErC,IAAIC,OAAO,EAAE;QACT,IAAI,IAAAkE,oBAAQ,EAAClE,OAAO,CAAC,EAAE;UACnB,IAAIA,OAAO,CAACK,IAAI,EAAE;YACd2E,IAAI,GAAG,gBAAgB;YACvB,IAAIjF,KAAK,EAAE;cACPiF,IAAI,GAAG,eAAe;YAC1B;UACJ;QACJ,CAAC,MAAM;UACHA,IAAI,GAAG,gBAAgB;UACvB,IAAIjF,KAAK,EAAE;YACPiF,IAAI,GAAG,eAAe;UAC1B;QACJ;MACJ;MAEA,IAAI4B,MAAM,GAAGkC,CAAC,CAAC9D,IAAI,CAAC;MACpB,IAAInF,KAAK,EAAE;QAAA,IAAAsJ,YAAA;QACP,KAAAA,YAAA,GAAInP,MAAM,CAACC,IAAI,CAACwF,IAAI,CAAC,cAAA0J,YAAA,eAAjBA,YAAA,CAAmBC,QAAQ,CAAC,YAAY,CAAC,EAAE;UAAA,IAAAC,OAAA;UAC3CzC,MAAM,CAAChF,IAAI,IAAAyH,OAAA,GAAG5J,IAAI,cAAA4J,OAAA,uBAAJA,OAAA,CAAMC,UAAU;QAClC,CAAC,MAAM;UACH1C,MAAM,CAAChF,IAAI,GAAG,IAAI,CAAC2H,aAAa,CAAC3L,OAAO,EAAE2D,KAAK,CAAC;QACpD;MACJ;MAEA,IAAI3D,OAAO,CAAC+E,SAAS,IAAItB,IAAI,GAAG,CAAC,IAAI2D,IAAI,KAAK,gBAAgB,EAAE;QAAA,IAAAwE,eAAA;QAC5D5C,MAAM,CAAChF,IAAI,GAAG,IAAI,CAAC6H,mBAAmB,CAACpI,IAAI,EAAErB,OAAO,aAAPA,OAAO,gBAAAwJ,eAAA,GAAPxJ,OAAO,CAAE5B,KAAK,cAAAoL,eAAA,uBAAdA,eAAA,CAAgBpE,WAAW,CAAC;MAC7E;MAEA,OAAOwB,MAAM;IACjB;EAAC;IAAAlL,GAAA;IAAAkB,KAAA,EAED,SAAAuH,gBAAgBA,CAACnE,OAAO,EAAE;MAAA,IAAA0J,eAAA;QAAAC,MAAA;MACtB,IAAIC,KAAK,GAAG,IAAI;MAChB5J,OAAO,GAAG,IAAAkE,oBAAQ,EAAClE,OAAO,CAAC,GAAGA,OAAO,GAAG;QAAEK,IAAI,EAAEL;MAAQ,CAAC;MACzD,IAAA6J,QAAA,GAA6C7J,OAAO;QAA9CK,IAAI,GAAAwJ,QAAA,CAAJxJ,IAAI;QAAEyJ,WAAW,GAAAD,QAAA,CAAXC,WAAW;QAAEjH,QAAQ,GAAAgH,QAAA,CAARhH,QAAQ;QAAEvC,KAAK,GAAAuJ,QAAA,CAALvJ,KAAK;MACxC;MACA,IAAI,CAAC+C,8BAA8B,CAAC,IAAI,CAACJ,SAAS,EAAE3C,KAAK,IAAI,IAAI,CAACA,KAAK,CAAC;MACxE,IAAIW,MAAM,GAAG,IAAIC,cAAY,CAAC;QAC1BvB,QAAQ,GAAA+J,eAAA,GAAE,IAAI,CAACzG,SAAS,cAAAyG,eAAA,uBAAdA,eAAA,CAAgBvP,MAAM,CAAC,UAAA8D,CAAC;UAAA,OAAI,CAACA,CAAC,CAAC7C,cAAc,CAAC,MAAM,CAAC,IAAI6C,CAAC,CAACoC,IAAI;QAAA;MAC7E,CAAC,CAAC;MACF,IAAIA,IAAI,EAAE;QACNC,KAAK,GAAGA,KAAK,IAAI,IAAI,CAACA,KAAK;QAC3B,IAAIyJ,aAAa,GAAG,IAAIC,qBAAO,CAAAxP,aAAA;UAC3BqI,QAAQ,EAAEA,QAAQ,IAAI,GAAG;UACzBiH,WAAW,EAAEA,WAAW,IAAI,EAAE;UAC9B7I,MAAM,EAANA,MAAM;UACNX,KAAK,EAALA,KAAK;UACL2J,aAAa,EAAE,SAAfA,aAAaA,CAAEtK,QAAQ,EAAI;YACvBgK,MAAI,CAACO,oBAAoB,CAACvK,QAAQ,CAAC;UACvC,CAAC;UACDwK,aAAa,EAAE,SAAfA,aAAaA,CAAGpK,KAAK,EAAEJ,QAAQ,EAAK;YAAA,IAAAyK,MAAA;YAChC,IAAIxM,OAAO,GAAG,IAAIyM,WAAO,CAAC;cACtBC,QAAQ,EAAEvK,KAAK;cACfJ,QAAQ,EAAEA,QAAQ,CAAC9B,GAAG,CAAC,UAAAI,CAAC,EAAI;gBACxBA,CAAC,CAACsM,QAAQ,GAAGX,KAAK,CAAClO,GAAG;gBACtB,OAAOuC,CAAC;cACZ,CAAC;YACL,CAAC,CAAC;YAEF,KAAAmM,MAAA,GAAI9J,KAAK,cAAA8J,MAAA,eAALA,MAAA,CAAO1Q,MAAM,EAAE;cAAA,IAAA8Q,OAAA,EAAAC,UAAA;cACf,IAAIrM,KAAK,EAAEsM,SAAS;cACpB,IAAMvN,CAAC,GAAGwC,QAAQ,CAAC,CAAC,CAAC;cACrB,IAAM0B,IAAI,GAAG1B,QAAQ,CAACjG,MAAM;cAC5B,CAAA8Q,OAAA,GAAAlK,KAAK,cAAAkK,OAAA,eAALA,OAAA,CAAO3M,GAAG,CAAC,UAAAI,CAAC,EAAI;gBAAA,IAAA0M,UAAA;gBACZ,IAAI1M,CAAC,aAADA,CAAC,gBAAA0M,UAAA,GAAD1M,CAAC,CAAE9D,MAAM,cAAAwQ,UAAA,eAATA,UAAA,CAAA3R,IAAA,CAAAiF,CAAC,EAAWd,CAAC,CAACe,OAAO,CAAC,EAAE;kBACxBE,KAAK,GAAGH,CAAC,CAACG,KAAK,IAAIA,KAAK;kBACxBsM,SAAS,GAAGzM,CAAC;gBACjB;cACJ,CAAC,CAAC;;cAEF;cACA,IAAIoD,IAAI,KAAK,CAAC,IAAI,IAAAmF,sBAAU,EAACpI,KAAK,CAAC,EAAE;gBACjCA,KAAK,GAAGA,KAAK,CAACjB,CAAC,CAAC;cACpB;cAEA,IAAIyN,WAAW,GAAApQ,aAAA,KAAQ4D,KAAK,CAACA,KAAK,CAAE;cAEpC,IAAIiD,IAAI,GAAG,CAAC,KAAAoJ,UAAA,GAAIC,SAAS,cAAAD,UAAA,gBAAAA,UAAA,GAATA,UAAA,CAAW3F,YAAY,cAAA2F,UAAA,eAAvBA,UAAA,CAAyBxF,OAAO,EAAE;gBAC9C,IAAI2B,MAAM,GAAG+C,MAAI,CAAC9E,qBAAqB,CACnCjH,OAAO,EACP8M,SAAS,CAAC5F,YACd,CAAC;gBACDlH,OAAO,CAACgG,QAAQ,CAACgD,MAAM,CAAC;cAC5B,CAAC,MAAM;gBAAA,IAAAiE,eAAA;gBACH,IAAIxJ,IAAI,GAAG,CAAC,EAAE;kBAAA,IAAAyJ,OAAA,EAAAC,aAAA,EAAAC,SAAA;kBACV,KAAAF,OAAA,GAAI1M,KAAK,cAAA0M,OAAA,eAALA,OAAA,CAAOhG,YAAY,EAAE;oBACrB8F,WAAW,GAAApQ,aAAA,KAAQ4D,KAAK,CAAC0G,YAAY,CAAE;kBAC3C;kBAEA,IAAAmG,YAAA,GAAoDL,WAAW;oBAAvDxF,WAAW,GAAA6F,YAAA,CAAX7F,WAAW;oBAAE7E,WAAW,GAAA0K,YAAA,CAAX1K,WAAW;oBAAK4F,WAAU,GAAApL,wBAAA,CAAAkQ,YAAA,EAAA/S,UAAA;kBAC/C0S,WAAW,GAAApQ,aAAA,CAAAA,aAAA,KACJ2L,WAAU;oBACbvE,IAAI,EAAE+H,MAAI,CAACF,mBAAmB,CAC1B,CAAAsB,aAAA,GAAAH,WAAW,cAAAG,aAAA,eAAXA,aAAA,CAAa5M,KAAK,GAAGkD,IAAI,GAAG,GAAG,EAC/B+D,WACJ,CAAC;oBACD7E,WAAW,EAAA/F,aAAA;sBACPiL,UAAU,EAAE,IAAI;sBAChBC,IAAI,EAAE;wBAAE9D,IAAI,EAAEP,IAAI;wBAAEsE,QAAQ,EAAE;sBAAG;oBAAC,GAC9BpF,WAAW,MAAAyK,SAAA,GAAIhL,OAAO,cAAAgL,SAAA,uBAAPA,SAAA,CAASzK,WAAW,KAAI,CAAC,CAAC;kBAChD,EACJ;gBACL;gBACA,IAAM4F,UAAU,GAAGuE,SAAS,CAACvE,UAAU,MAAA0E,eAAA,GAAIlB,MAAI,CAACjH,QAAQ,cAAAmI,eAAA,uBAAbA,eAAA,CAAe1E,UAAU;gBAEpEvI,OAAO,CAACgG,QAAQ,CAAC,UAAChG,OAAO,EAAEkI,UAAU,EAAK;kBACtC,IAAMS,MAAM,GAAG,CACX,IAAIjB,oBAAQ,CAACC,MAAM,CAACqF,WAAW,CAAC,CACnC;kBAED,IAAIzE,UAAU,EAAE;oBACZ,IAAI,IAAAK,sBAAU,EAACL,UAAU,CAAC,EAAE;sBACxB,IAAMM,OAAO,GAAGN,UAAU,CAACvI,OAAO,EAAEkI,UAAU,CAAC;sBAC/C,IAAIW,OAAO,EAAE;wBACT,IAAIrN,KAAK,CAACK,OAAO,CAAC8M,MAAM,CAAC,EAAE;0BACvBA,MAAM,CAACjM,IAAI,CAAAC,KAAA,CAAXgM,MAAM,EAAAlO,kBAAA,CAASoO,OAAO,EAAC;wBAC3B,CAAC,MAAM;0BACHF,MAAM,CAACjM,IAAI,CAACmM,OAAO,CAAC;wBACxB;sBACJ;oBACJ;kBACJ;kBAEA,OAAOF,MAAM;gBACjB,CAAC,CAAC;cACN;YACJ;;YAEA;YACA3I,OAAO,CAAC+E,SAAS,GAAG,IAAI;YAExB,IAAIhD,QAAQ,CAACjG,MAAM,KAAK,CAAC,EAAE;cACvBkE,OAAO,CAACsN,aAAa,CAACvL,QAAQ,CAAC,CAAC,CAAC,CAACzB,OAAO,CAAC;YAC9C;YAEA,OAAON,OAAO;UAClB;QAAC,GACEoC,OAAO,CACb,CAAC;QAEF,IAAI,CAACmL,SAAS,CAACpB,aAAa,CAAC;MACjC,CAAC,MAAM;QACH,IAAI,CAACoB,SAAS,CAAClK,MAAM,CAAC;MAC1B;IACJ;;IAEA;EAAA;IAAAvF,GAAA;IAAAkB,KAAA,EACA,SAAAwO,YAAYA,CAAA,EAAG;MAAA,IAAAC,cAAA;QAAAC,MAAA;MACX,IAAI,IAAI,CAACzN,GAAG,KAAAwN,cAAA,GAAI,IAAI,CAACE,QAAQ,cAAAF,cAAA,eAAbA,cAAA,CAAe3R,MAAM,EAAE;QACnC,IAAI,CAAC6R,QAAQ,CAAC1N,GAAG,CAAC,UAAAc,OAAO;UAAA,OAAI2M,MAAI,CAACzN,GAAG,CAAC2N,aAAa,CAAC7M,OAAO,CAAC;QAAA,EAAC;QAC7D,IAAI,CAAC4M,QAAQ,GAAG,IAAI;MACxB;IACJ;;IAEA;EAAA;IAAA7P,GAAA;IAAAkB,KAAA,EACA,SAAAsN,oBAAoBA,CAACvK,QAAQ,EAAE;MAAA,IAAA8L,MAAA;MAC3B,IAAI,CAACL,YAAY,CAAC,CAAC;MACnB,IAAI,CAACG,QAAQ,GAAG,EAAE;MAElB,IAAI,IAAI,CAAC1N,GAAG,IAAI,IAAI,CAACC,OAAO,IAAI6B,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEjG,MAAM,EAAE;QAC9CiG,QAAQ,CAAC9B,GAAG,CAAC,UAAAD,OAAO,EAAI;UACpB,IAAI8N,QAAQ,GAAG9N,OAAO;UAEtB,IAAMoC,OAAO,GAAGpC,OAAO,CAACnB,GAAG,CAAC,UAAU,CAAC;UACvC,IAAIuD,OAAO,EAAE;YACT0L,QAAQ,GAAG1L,OAAO,CAACtG,MAAM,GAAG,CAAC,GAAGsG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;UACrD;UAEA,IAAI0L,QAAQ,KAAKA,QAAQ,CAACtQ,cAAc,CAAC,MAAM,CAAC,GAAGsQ,QAAQ,CAACrL,IAAI,GAAG,IAAI,CAAC,EAAE;YACtE,IAAI1B,OAAO,GAAGhB,UAAU,CAAC+N,QAAQ,EAAED,MAAI,CAAC5N,GAAG,EAAE4N,MAAI,CAAC3N,OAAO,CAAC;YAC1D,IAAIa,OAAO,EAAE;cACT8M,MAAI,CAACF,QAAQ,CAACjR,IAAI,CAACqE,OAAO,CAAC;YAC/B;UACJ;QACJ,CAAC,CAAC;MACN;IACJ;EAAC;IAAAjD,GAAA;IAAAkB,KAAA,EAED,SAAA+O,OAAOA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACN,IAAAC,8CAAqB,EAAC;QAClBtM,GAAG,EAAE,IAAI,CAACA,GAAG;QACbC,MAAM,EAAE,IAAI,CAACA,MAAM;QACnBW,MAAM,EAAE,IAAI,CAACA,MAAM;QACnBK,YAAY,EAAE,IAAI,CAACA,YAAY;QAC/BsL,KAAK,EAAE,IAAI,CAACpM;MAChB,CAAC,CAAC,CAACqM,IAAI,CAAC,UAAApM,QAAQ,EAAI;QAChB,IAAIA,QAAQ,EAAE;UACV,IAAIqM,YAAY,GAAGrM,QAAQ;UAC3BiM,MAAI,CAAC3I,SAAS,GAAG+I,YAAY;UAE7B,IAAIC,WAAW,GAAG,EAAE;UACpBD,YAAY,CAACnO,GAAG,CAAC,UAAAI,CAAC,EAAI;YAClB,IAAId,CAAC,GAAGyO,MAAI,CAACM,sBAAsB,CAAC,IAAI,EAAEjO,CAAC,CAACC,OAAO,CAACiO,EAAE,CAAC;YACvD,IAAIhP,CAAC,EAAE;cACHA,CAAC,CAACe,OAAO,GAAGD,CAAC,CAACC,OAAO;YACzB,CAAC,MAAM;cACH+N,WAAW,CAAC3R,IAAI,CAAC2D,CAAC,CAAC;YACvB;UACJ,CAAC,CAAC;UAEF,IAAIgO,WAAW,CAACvS,MAAM,EAAE;YACpBkS,MAAI,CAACQ,SAAS,CAAC,CAAC,CAACC,WAAW,CAACJ,WAAW,CAAC;YACzCL,MAAI,CAAC1B,oBAAoB,CAAC0B,MAAI,CAACQ,SAAS,CAAC,CAAC,CAACE,WAAW,CAAC,CAAC,CAAC;UAC7D;UAEAV,MAAI,CAACQ,SAAS,CAAC,CAAC,CAACG,OAAO,CAAC,CAAC;QAC9B;MACJ,CAAC,CAAC;IACN;EAAC;IAAA7Q,GAAA;IAAAkB,KAAA,EAED,SAAAwG,QAAQA,CAAC3D,IAAI,EAAE;MACX,IAAI,CAAC2M,SAAS,CAAC,CAAC,CAACI,KAAK,CAAC,CAAC;MACxB,IAAI7M,QAAQ,GAAG,IAAA8M,sCAAa,EAAChN,IAAI,EAAE,IAAI,CAACC,SAAS,CAAC;MAClD,IAAI,CAAC0M,SAAS,CAAC,CAAC,CAACC,WAAW,CAAC1M,QAAQ,CAAC;MAEtC,IAAI,CAACuK,oBAAoB,CAAC,IAAI,CAACkC,SAAS,CAAC,CAAC,CAACE,WAAW,CAAC,CAAC,CAAC;MAEzD,IAAI,CAACrJ,SAAS,GAAGtD,QAAQ;MACzB,IAAI,CAAC0D,8BAA8B,CAAC,IAAI,CAACJ,SAAS,EAAE,IAAI,CAAC3C,KAAK,CAAC;MAC/D,IAAI,IAAI,CAACoC,QAAQ,CAAC1C,OAAO,EAAE;QACvB,IAAI,CAAC8D,cAAc,CAAC,IAAI,CAACpB,QAAQ,CAAC1C,OAAO,CAAC;MAC9C;IACJ;EAAC;IAAAtE,GAAA;IAAAkB,KAAA,EAED,SAAAuG,WAAWA,CAAC5D,GAAG,EAAEC,MAAM,EAAEW,MAAM,EAAoC;MAAA,IAAAuM,MAAA;MAAA,IAAlClM,YAAY,GAAA/F,SAAA,CAAAf,MAAA,QAAAe,SAAA,QAAA6I,SAAA,GAAA7I,SAAA,MAAG,IAAI,CAAC+F,YAAY;MAC7D,IAAI,CAAC4L,SAAS,CAAC,CAAC,CAACI,KAAK,CAAC,CAAC;MACxB,IAAI,CAACvJ,SAAS,GAAG,EAAE;MAEnB,IAAI,IAAI,CAACtC,OAAO,EAAE;QACdnB,MAAM,GAAG,IAAAmN,yBAAa,EAACnN,MAAM,EAAE,IAAI,CAACmB,OAAO,CAAC;MAChD;MAEA,IAAAkL,8CAAqB,EAAC;QAClBtM,GAAG,EAAHA,GAAG;QACHC,MAAM,EAANA,MAAM;QACNW,MAAM,EAANA,MAAM;QACNK,YAAY,EAAZA,YAAY;QACZsL,KAAK,EAAE,IAAI,CAACpM;MAChB,CAAC,CAAC,CAACqM,IAAI,CAAC,UAAApM,QAAQ,EAAI;QAChB+M,MAAI,CAACN,SAAS,CAAC,CAAC,CAACI,KAAK,CAAC,CAAC;QACxBE,MAAI,CAACzJ,SAAS,GAAG,EAAE;QAEnB,IAAItD,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEjG,MAAM,EAAE;UAClBgT,MAAI,CAACzJ,SAAS,GAAGtD,QAAQ;UACzB+M,MAAI,CAACrJ,8BAA8B,CAACqJ,MAAI,CAACzJ,SAAS,EAAEyJ,MAAI,CAACpM,KAAK,CAAC;UAC/DoM,MAAI,CAACN,SAAS,CAAC,CAAC,CAACC,WAAW,CAAC1M,QAAQ,CAAC;UAEtC+M,MAAI,CAACxC,oBAAoB,CAACwC,MAAI,CAACN,SAAS,CAAC,CAAC,CAACE,WAAW,CAAC,CAAC,CAAC;QAC7D;QACA,IAAII,MAAI,CAAChK,QAAQ,CAAC1C,OAAO,EAAE;UACvB0M,MAAI,CAAC5I,cAAc,CAAC4I,MAAI,CAAChK,QAAQ,CAAC1C,OAAO,CAAC;QAC9C;MACJ,CAAC,CAAC;IACN;EAAC;IAAAtE,GAAA;IAAAkB,KAAA,EAED,SAAAgQ,YAAYA,CAACjN,QAAQ,EAAE;MACnB,IAAI,CAACyM,SAAS,CAAC,CAAC,CAACI,KAAK,CAAC,CAAC;MACxB,IAAI,CAACJ,SAAS,CAAC,CAAC,CAACC,WAAW,CAAC1M,QAAQ,CAAC;MAEtC,IAAI,CAACuK,oBAAoB,CAAC,IAAI,CAACkC,SAAS,CAAC,CAAC,CAACE,WAAW,CAAC,CAAC,CAAC;MAEzD,IAAI,CAACrJ,SAAS,GAAGtD,QAAQ;MACzB,IAAI,CAAC0D,8BAA8B,CAAC,IAAI,CAACJ,SAAS,EAAE,IAAI,CAAC3C,KAAK,CAAC;MAC/D,IAAI,IAAI,CAACoC,QAAQ,CAAC1C,OAAO,EAAE;QACvB,IAAI,CAAC8D,cAAc,CAAC,IAAI,CAACpB,QAAQ,CAAC1C,OAAO,CAAC;MAC9C;IACJ;EAAC;IAAAtE,GAAA;IAAAkB,KAAA,EAED,SAAA0P,WAAWA,CAAA,EAAG;MACV,IAAMrL,MAAM,GAAG,IAAI,CAACmL,SAAS,CAAC,CAAC,CAACnL,MAAM,IAAI,IAAI,CAACmL,SAAS,CAAC,CAAC;MAC1D,OAAOnL,MAAM,CAACqL,WAAW,CAAC,CAAC;IAC/B;EAAC;IAAA5Q,GAAA;IAAAkB,KAAA,EAED,SAAAsP,sBAAsBA,CAACJ,KAAK,EAAElP,KAAK,EAAE;MACjC,OAAO,IAAI,CAAC0P,WAAW,CAAC,CAAC,CAACtO,IAAI,CAAC,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACC,OAAO,CAAC4N,KAAK,CAAC,KAAKlP,KAAK;MAAA,EAAC;IACnE;EAAC;IAAAlB,GAAA;IAAAkB,KAAA,EAED,SAAAiQ,4BAA4BA,CAAAC,KAAA,EAAwD;MAAA,IAAAC,MAAA;MAAA,IAArDjB,KAAK,GAAAgB,KAAA,CAALhB,KAAK;QAAElP,KAAK,GAAAkQ,KAAA,CAALlQ,KAAK;QAAAoQ,eAAA,GAAAF,KAAA,CAAEG,SAAS;QAATA,SAAS,GAAAD,eAAA,cAAG,KAAK,GAAAA,eAAA;QAAErN,QAAQ,GAAAmN,KAAA,CAARnN,QAAQ;QAAExF,MAAM,GAAA2S,KAAA,CAAN3S,MAAM;MAC5E,OAAO,IAAI+S,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAK;QACpC,IAAInK,SAAS,GAAGtD,QAAQ,IAAIoN,MAAI,CAACT,WAAW,CAAC,CAAC;QAC9C,IAAInS,MAAM,EAAE;UACR8I,SAAS,GAAGA,SAAS,CAAC9I,MAAM,CAAC,UAAAyD,OAAO;YAAA,OAAIzD,MAAM,CAACyD,OAAO,CAACM,OAAO,CAAC;UAAA,EAAC;QACpE;QAEA,IAAImP,MAAM,GAAGpK,SAAS;QAEtB,IAAIgK,SAAS,IAAIrQ,KAAK,KAAK0G,SAAS,EAAE;UAClC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC8F,QAAQ,CAAC6D,SAAS,CAAC,EAAE;YAC1D,IAAI;cACA;cACA,IAAMK,GAAG,GAAG,IAAIC,QAAQ,CACpB,UAAU,EACV,OAAO,EACP,OAAO,kDAAAC,MAAA,CACyCP,SAAS,YAC7D,CAAC;cACDI,MAAM,GAAGC,GAAG,CAACrK,SAAS,EAAE6I,KAAK,EAAElP,KAAK,CAAC;YACzC,CAAC,CAAC,OAAO6Q,GAAG,EAAE;cACVL,MAAM,CAACK,GAAG,CAAC;YACf;UACJ,CAAC,MAAM,IAAIR,SAAS,KAAK,MAAM,EAAE;YAC7B;YACAI,MAAM,GAAGpK,SAAS,CAAC9I,MAAM,CAAC,UAAA8D,CAAC;cAAA,IAAAyP,gBAAA;cAAA,OAAI,EAAAA,gBAAA,GAAAzP,CAAC,CAACC,OAAO,CAAC4N,KAAK,CAAC,cAAA4B,gBAAA,uBAAhBA,gBAAA,CAAkBxS,OAAO,CAAC0B,KAAK,CAAC,MAAK,CAAC,CAAC;YAAA,EAAC;UAC3E,CAAC,MAAM,IAAIqQ,SAAS,KAAK,SAAS,EAAE;YAChC;YACAI,MAAM,GAAGpK,SAAS,CAAC9I,MAAM,CAAC,UAAA8D,CAAC;cAAA,IAAA0P,iBAAA;cAAA,OAAI,EAAAA,iBAAA,GAAA1P,CAAC,CAACC,OAAO,CAAC4N,KAAK,CAAC,cAAA6B,iBAAA,uBAAhBA,iBAAA,CAAkBzS,OAAO,CAAC0B,KAAK,CAAC,MAAK,CAAC,CAAC;YAAA,EAAC;UAC3E,CAAC,MAAM;YACHyQ,MAAM,GAAGpK,SAAS,CAAC9I,MAAM,CAAC,UAAA8D,CAAC;cAAA,IAAA2P,iBAAA;cAAA,OAAI,EAAAA,iBAAA,GAAA3P,CAAC,CAACC,OAAO,CAAC4N,KAAK,CAAC,cAAA8B,iBAAA,uBAAhBA,iBAAA,CAAkB1S,OAAO,CAAC0B,KAAK,CAAC,MAAK,CAAC,CAAC;YAAA,EAAC;UAC3E;QACJ;QAEAuQ,OAAO,CAACE,MAAM,CAAC;MACnB,CAAC,CAAC;IACN;;IAEA;EAAA;IAAA3R,GAAA;IAAAkB,KAAA,EACA,SAAAiR,MAAMA,CAAA,EAAG;MACL,OAAO,IAAI,CAAChQ,GAAG;IACnB;;IAEA;EAAA;IAAAnC,GAAA;IAAAkB,KAAA,EACA,SAAAkR,QAAQA,CAACxN,KAAK,EAAE;MACZ,IAAIA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE5G,MAAM,EAAE;QACf,IAAI,CAAC2J,8BAA8B,CAAC,IAAI,CAACJ,SAAS,EAAE3C,KAAK,CAAC;QAC1D,IAAI,CAACA,KAAK,GAAGA,KAAK;QAClB,IAAI,CAACyN,iBAAiB,CAAC,CAAC;QAExB,IAAI,IAAI,CAACrL,QAAQ,CAAC1C,OAAO,EAAE;UACvB,IAAI,CAAC8D,cAAc,CAAC,IAAI,CAACpB,QAAQ,CAAC1C,OAAO,CAAC;QAC9C,CAAC,MAAM;UACH,IAAI,CAAC4D,QAAQ,CAAC,IAAI,CAACC,cAAc,CAAC,CAAC,CAAC;QACxC;QAEA,IAAI,CAACqG,oBAAoB,CAAC,IAAI,CAACjH,SAAS,CAAC;MAC7C;IACJ;;IAEA;EAAA;IAAAvH,GAAA;IAAAkB,KAAA,EACA,SAAAmR,iBAAiBA,CAAA,EAAG;MAChB,IAAMzN,KAAK,GAAG,IAAI,CAACA,KAAK;MACxB,IAAIA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE5G,MAAM,EAAE;QACf,IAAIsU,OAAO,GAAG,KAAK;QAEnB1N,KAAK,CAACzC,GAAG,CAAC,UAAAI,CAAC,EAAI;UACX,IAAI,CAACA,CAAC,CAAC7C,cAAc,CAAC,MAAM,CAAC,IAAI6C,CAAC,CAACoC,IAAI,EAAE;YACrC2N,OAAO,GAAG,IAAI;UAClB;QACJ,CAAC,CAAC;QAEF,IAAI,CAACtK,UAAU,CAACsK,OAAO,CAAC;MAC5B;IACJ;;IAEA;EAAA;IAAAtS,GAAA;IAAAkB,KAAA,EACA,SAAA8G,UAAUA,CAACsK,OAAO,EAAE;MAChB1R,aAAA,CAAA6C,YAAA,0BAAiB6O,OAAO,GAAE,CAAC;;MAE3B,IAAMnQ,GAAG,GAAG,IAAI,CAACgQ,MAAM,IAAI,IAAI,CAACA,MAAM,CAAC,CAAC;MACxC,IAAIhQ,GAAG,EAAE;QACLA,GAAG,CAACoQ,MAAM,CAACC,QAAQ,CAAC,CAAC;MACzB;;MAEA;MACA,IAAI,CAAC,IAAI,CAACpL,MAAM,EAAE;QACd,IAAI,CAACI,IAAI,CAAC,CAAC;MACf;MAEA,IAAI,CAAC8K,OAAO,EAAE;QACV,IAAI,CAAC5C,YAAY,CAAC,CAAC;MACvB,CAAC,MAAM;QACH,IAAI,CAAClB,oBAAoB,CAAC,IAAI,CAACkC,SAAS,CAAC,CAAC,CAACE,WAAW,CAAC,CAAC,CAAC;MAC7D;IACJ;EAAC;IAAA5Q,GAAA;IAAAkB,KAAA,EAED,SAAAuR,YAAYA,CAAA,EAAG;MACX,IAAMtQ,GAAG,GAAG,IAAI,CAACA,GAAG;MACpB,IAAIA,GAAG,IAAI,IAAI,CAAC2G,OAAO,EAAE;QACrB3G,GAAG,CAACuQ,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC5J,OAAO,CAAC;QAC/B,IAAI,CAACA,OAAO,GAAG,IAAI;MACvB;IACJ;EAAC;IAAA9I,GAAA;IAAAkB,KAAA,EAED,SAAAwH,OAAOA,CAAA,EAAG;MACN,IAAI,CAAC+J,YAAY,CAAC,CAAC;MACnB,IAAI,CAAC/C,YAAY,CAAC,CAAC;IACvB;EAAC;AAAA,EAj9BsBiD,aAAM;AAAA,IAAAC,QAAA,GAAAC,OAAA,cAo9BlBpP,YAAY","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FeatureLayer.js","names":["_layer","require","_ol","_source","_renderer","_interopRequireDefault","_style5","_isFunction","_createFeatureCollection","_isObject","_encryptParams","_stringToFun","_convertCamelToCSS","_MyCluster","_Marker","_excluded","_excluded2","_excluded3","_excluded4","e","__esModule","_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","Symbol","iterator","isArray","length","n","_typeof","o","prototype","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","hasOwnProperty","_classCallCheck","_defineProperties","configurable","writable","_toPropertyKey","key","_createClass","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","_superPropGet","p","_get","get","bind","_superPropBase","value","_inherits","create","_setPrototypeOf","setPrototypeOf","__proto__","_superPropSet","f","_set","set","getPrototypeOf","_toPrimitive","toPrimitive","String","Number","addOverlay","feature","map","alarmBg","itemVal","find","v","values_","image","style","dom","document","createElement","src","className","cssText","overlay","Overlay","element","positioning","stopEvent","setPosition","getGeometry","getCoordinates","FeatureLayer","_Vector","options","_this2","url","params","data","dataField","features","sourceOptions","label","labelField","point","cluster","template","autoRefresh","method","layerControl","show","group","iconOptions","afterGetData","legend","viewOnly","encrypt","valueField","tipTemplate","cancelPopup","other","props","source","VectorSource","defaultShow","stringToFun","size","_ref","color","background","backgroundStroke","backgroundStrokeWidth","otherVal","text","font","fill","Fill","padding","justify","textAlign","textBaseline","offsetY","offsetX","backgroundFill","Stroke","width","Text","_options","isCluster","_feature$get","distance","inited","item","convertCamelToCSS","_features","init","loadUrlData","loadData","applyGroupVisibilityToFeatures","undefined","enabledGroups","hasEnabled","_v$filter","setVisible","val","setStyle","getStyleByMode","setClusterMode","setShow","_this3","_ref2","isObject","setClusterSource","destroy","oldZoom","getView","getZoom","moveEnd","on","zoom","_this3$_options$clust","zoomThreshold","getCustomClusterStyle","clusterStyle","_feature$get2","type","iconSrc","_clusterStyle$scale","scale","numberStyle","numberScale","renderer","Marker","getImgUrl","hideFooter","info","fontSize","anchor","_this4","resolution","_feature$get3","_this4$group","_cluster$style","_this4$_options","otherStyle","some","_v$filter2","_v$filter3","styles","isFunction","_styles","getMarkerOptions","Style","_style","getSimpleStyle","Simple","_style3","mode","render","getMultipleStyle","UniqueValue","ClassBreaks","Circle","radius","stroke","_render","_render$style","_render$style2","icon","_render$render","_this5","_feature$get4","iconSize","_this$_options","isFun","_data","_data2","_data3","_data4","_data5","_data6","_data7","_data8","_data9","_data0","_data1","_data10","P","marker","marker_cluster","commonStyle","point_cluster","_Object$keys","includes","_data11","customText","getLabelStyle","_cluster$style2","getClusterTextStyle","_this$_features","_this6","_this","_cluster","minDistance","clusterSource","Cluster","clusterChange","setAlarmBgByFeatures","createCluster","_group","Feature","geometry","layerKey","_group2","_groupItem","groupItem","_v$filter4","markerStyle","_this6$_options","_style4","_markerStyle2","_cluster2","_markerStyle","setProperties","setSource","clearAlarmBg","_this$overlays","_this7","overlays","removeOverlay","_this8","_feature","refresh","_this9","getDataByHttpByParams","field","then","new_features","newFeatures","getFeatureByFieldValue","id","getSource","addFeatures","getFeatures","changed","clear","createGeoJson","_this0","encryptParams","loadFeatures","getFeaturesByFieldValueOpera","_ref3","_this1","_ref3$operation","operation","Promise","resolve","reject","result","fun","Function","concat","err","_v$values_$field","_v$values_$field2","_v$values_$field3","getMap","setGroup","setVisibleByGroup","visible","layers","onChange","clearMoveEnd","un","Vector","_default","exports"],"sources":["feature-layer/FeatureLayer.js"],"sourcesContent":["import { Vector } from 'ol/layer';\nimport { Feature, Overlay } from 'ol';\nimport { Vector as VectorSource } from 'ol/source';\nimport renderer from '../renderer';\nimport { Fill, Style, Text, Stroke, Circle } from 'ol/style';\nimport isFunction from '../_util/isFunction';\nimport { getDataByHttpByParams, createGeoJson } from './createFeatureCollection';\nimport isObject from '../_util/isObject';\nimport encryptParams from '../_util/encryptParams';\nimport stringToFun from '../_util/stringToFun';\nimport convertCamelToCSS from '../convertCamelToCSS';\nimport Cluster from './MyCluster';\nimport { getImgUrl } from '../marker/Marker';\n\nconst addOverlay = (feature, map, alarmBg) => {\n if (alarmBg) {\n let itemVal = alarmBg.find(v => v.filter(feature.values_));\n if (itemVal) {\n let { image, style } = itemVal;\n let dom;\n if (image) {\n dom = document.createElement('img');\n dom.src = image;\n } else {\n dom = document.createElement('div');\n dom.className = `ol-map-icon-alarm`;\n }\n\n if (style) {\n dom.style.cssText = style;\n }\n\n const overlay = new Overlay({\n element: dom,\n positioning: 'bottom-center',\n stopEvent: true,\n className: 'ol-overlay_container-stop_event',\n });\n\n map.addOverlay(overlay);\n\n overlay.setPosition(feature.getGeometry().getCoordinates());\n\n return overlay;\n }\n }\n};\n\nclass FeatureLayer extends Vector {\n constructor(options) {\n const {\n url,\n params,\n data,\n dataField,\n features,\n sourceOptions,\n key,\n name,\n label,\n labelField,\n point,\n cluster,\n template,\n autoRefresh,\n method,\n layerControl,\n show,\n style,\n group,\n iconOptions,\n afterGetData,\n legend,\n viewOnly,\n encrypt,\n valueField,\n map,\n tipTemplate,\n alarmBg,\n cancelPopup,\n ...other\n } = options;\n\n const props = {\n ...other,\n };\n props.source =\n props.source ||\n new VectorSource({\n features,\n ...sourceOptions,\n });\n\n let defaultShow = show;\n if (group?.length) {\n defaultShow = false;\n\n if (show) {\n group.map(f => {\n if (f.show) {\n defaultShow = true;\n }\n\n // 将字符函数转化为可执行的函数\n f.filter = stringToFun(f.filter);\n });\n }\n }\n\n super(props);\n super.show = show;\n // 参数\n this._options = options;\n\n // 地图\n this.map = map;\n\n // 接口地址\n this.url = url;\n\n // 接口地址请求类型\n this.method = method;\n\n // 接口查询参数\n this.params = params;\n\n // 图层标识\n this.key = key;\n\n // 图层名称\n this.name = name;\n\n // 标签\n this.label = label;\n\n // 标签字段\n this.labelField = labelField;\n\n // 聚合\n this.cluster = cluster;\n\n // 聚合距离\n this.distance = cluster?.distance || 80;\n\n // 海量点\n this.point = point;\n\n // 自动刷新标识\n this.autoRefresh = autoRefresh;\n\n // 模版内容\n this.template = template;\n\n // 图层控制\n this.layerControl = layerControl;\n\n // 过滤\n this.group = group;\n\n // 处理获取的数据\n this.afterGetData = stringToFun(afterGetData);\n\n // 数据查询字段\n this.valueField = valueField;\n\n // 图例\n this.legend = legend;\n\n // 样式\n this.style = style;\n\n // 数据\n this.data = data;\n\n // 数据取值字段\n this.dataField = dataField || 'geometryInfo';\n\n // 仅展示\n this.viewOnly = viewOnly;\n\n // 是否初始化\n this.inited = false;\n\n // 加密\n this.encrypt = encrypt;\n\n // 气泡模板\n this.tipTemplate = tipTemplate;\n\n // 取消气泡\n this.cancelPopup = cancelPopup;\n\n // 报警背景\n if (alarmBg) {\n this.alarmBg = (Array.isArray(alarmBg) ? alarmBg : [alarmBg]).map(item => {\n let { filter, style } = item;\n filter = stringToFun(filter);\n if (style) {\n style = item.style && typeof item.style === 'object' ? style : { color: style };\n style = convertCamelToCSS(style);\n }\n return {\n ...item,\n filter,\n style,\n };\n });\n }\n\n // 临时数据\n this._features = [];\n\n // 默认是否展示\n if (defaultShow) {\n this.init();\n }\n }\n\n // 初始化数据\n init() {\n // 是否存在地址\n if (this.url) {\n // 执行\n this.loadUrlData(this.url, this.params, this.method);\n }\n\n // 直接加载数据\n if (this.data) {\n // 执行\n this.loadData(this.data);\n }\n\n this.inited = true;\n }\n\n // 根据当前 group 计算每个 feature 的 show(仅影响 this._features 这批原始要素)\n applyGroupVisibilityToFeatures(features = this._features, group = this.group) {\n if (!group?.length || !features?.length) {\n return;\n }\n\n // 只要存在“启用的分组”,则仅显示命中启用分组的要素;否则隐藏全部\n const enabledGroups = group.filter(v => !v.hasOwnProperty('show') || v.show);\n const hasEnabled = enabledGroups.length > 0;\n\n features.forEach(feature => {\n let show = false;\n\n group.forEach(v => {\n v.filter = stringToFun(v.filter);\n if (\n hasEnabled &&\n (!v.hasOwnProperty('show') || v.show) &&\n v?.filter?.(feature.values_)\n ) {\n show = true;\n }\n });\n\n feature.show = show;\n });\n }\n\n // 重写父类的属性访问器\n get show() {\n return super.show;\n }\n\n set show(value) {\n this.setVisible(value);\n }\n\n set label(val) {\n this._options.label = val;\n this.setStyle(this.getStyleByMode());\n }\n\n set point(val) {\n this._options.point = val;\n this.setStyle(this.getStyleByMode());\n }\n\n set cluster(val) {\n this.setClusterMode(val);\n }\n\n setShow(value) {\n this.show = value;\n this.setVisible(value);\n }\n\n setClusterMode(val) {\n const { show } = isObject(val) ? val : { show: val };\n this.setClusterSource(val);\n this.setStyle(this.getStyleByMode());\n\n if (this.map && show) {\n const map = this.map;\n this.destroy();\n\n // 监听地图缩放大于阈值时取消聚合\n let oldZoom = map.getView().getZoom();\n this.moveEnd = map.on('moveend', () => {\n const zoom = map.getView().getZoom(); //获取当前地图的缩放级别\n if (oldZoom !== zoom) {\n oldZoom = zoom;\n if (zoom >= (this._options.cluster?.zoomThreshold || 14)) {\n this.setClusterSource();\n } else {\n this.setClusterSource(val);\n }\n }\n });\n }\n }\n\n getClusterTextStyle = (size, options) => {\n const { color, background, backgroundStroke, backgroundStrokeWidth, ...otherVal } =\n options && typeof options === 'object' ? options : {};\n const style = {\n text: String(size),\n font: '18px Calibri,sans-serif',\n fill: new Fill({\n color: color || '#fff',\n }),\n padding: [0, 0, 0, 0],\n justify: 'center',\n textAlign: 'center',\n textBaseline: 'middle',\n offsetY: -22,\n offsetX: 16,\n ...otherVal,\n };\n\n if (background) {\n style.backgroundFill = new Fill({\n color: background,\n });\n }\n\n if (backgroundStroke) {\n style.backgroundStroke = new Stroke({\n color: '#FFFFFF',\n width: backgroundStrokeWidth || 2,\n });\n }\n return new Text(style);\n };\n\n getLabelStyle = (feature, color) => {\n let { labelField } = this._options;\n\n // 判断是否是聚合点位\n if (feature.isCluster) {\n const size = feature.get('features')?.length || 0;\n if (size !== 1) {\n return;\n }\n }\n if (labelField) {\n return new Text({\n text: feature.values_[labelField] || '-',\n font: '12px Calibri,sans-serif',\n fill: new Fill({\n color,\n }),\n backgroundFill: new Fill({\n color: '#fff',\n }),\n backgroundStroke: new Stroke({\n color,\n width: 1,\n }),\n padding: [4, 2, 2, 4],\n justify: 'center',\n textBaseline: 'middle',\n offsetY: 12,\n });\n }\n };\n\n getCustomClusterStyle(feature, clusterStyle) {\n const { type, iconSrc, color, scale = 1, numberStyle, numberScale, ...iconOptions } = clusterStyle;\n const size = feature.get('features')?.length || 0;\n\n return [\n new renderer.Marker({\n image: getImgUrl(type || 'CommonIcon', {\n color: color || '#2491fc',\n hideFooter: true,\n info: { text: size, fontSize: 18 },\n }),\n // text: this.getClusterTextStyle(size, numberStyle),\n scale: numberScale || 1,\n }),\n new renderer.Marker({\n image: iconSrc,\n scale: scale || 1,\n anchor: [1.1, 1.25],\n ...iconOptions,\n }),\n ];\n }\n\n getStyleByMode() {\n return (feature, resolution) => {\n const size = feature.get('features')?.length || 0;\n let { style, cluster, otherStyle } = this._options;\n let show = true;\n\n // 如果外部已经通过 group 计算过显隐(setGroup/cluster source 过滤),这里优先尊重结果\n if (feature && feature.hasOwnProperty('show') && !feature.show) {\n return null;\n }\n\n if (this.group?.length) {\n const enabledGroups = this.group.filter(v => !v.hasOwnProperty('show') || v.show);\n // 若存在启用的分组,则只显示命中启用分组的数据;否则隐藏全部\n if (enabledGroups.length) {\n show = enabledGroups.some(v => v?.filter?.(feature.values_));\n } else {\n show = false;\n }\n\n // 仍然沿用“命中分组则覆盖样式”的逻辑(与 show 计算解耦)\n this.group.map(v => {\n if (v?.filter?.(feature.values_)) {\n style = v.style || style;\n }\n });\n }\n feature.show = show;\n\n if (!show) {\n return null;\n }\n\n const styles = [];\n\n if (otherStyle) {\n if (isFunction(otherStyle)) {\n const _styles = otherStyle(feature, resolution);\n if (_styles) {\n if (Array.isArray(styles)) {\n styles.push(..._styles);\n } else {\n styles.push(_styles);\n }\n }\n }\n }\n\n if (size > 1 && cluster?.style?.iconSrc) {\n return this.getCustomClusterStyle(feature, cluster.style);\n }\n if (style) {\n if (typeof style === 'string' || (isFunction(style) && cluster)) {\n styles.push(new renderer.Marker({ ...this.getMarkerOptions(feature, style) }));\n return styles;\n } else if (style instanceof Style) {\n // 判断是否为 ol Style\n styles.push(style);\n return styles;\n } else if (isFunction(style)) {\n // 判断是否为自定义函数渲染\n\n let _style = style(feature);\n if (_style?.type && _style?.style) {\n const options = this.getSimpleStyle(feature, _style);\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n styles.push(_style);\n return styles;\n } else if (isObject(style)) {\n let { mode } = style;\n if (mode) {\n if (mode === 'Simple') {\n const options = this.getSimpleStyle(feature, style.render);\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n if (mode === 'UniqueValue') {\n if (size > 1) {\n const options = this.getSimpleStyle(\n feature,\n style.render.render[0],\n );\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n const options = this.getMultipleStyle(feature, style.render);\n styles.push(renderer.UniqueValue(feature, options));\n return styles;\n }\n\n if (mode === 'ClassBreaks') {\n if (size > 1) {\n const options = this.getSimpleStyle(\n feature,\n style.render.render[0],\n );\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n const options = this.getMultipleStyle(feature, style.render);\n styles.push(renderer.ClassBreaks(feature, options));\n return styles;\n }\n } else if (style.style) {\n const options = this.getSimpleStyle(feature, style);\n styles.push(renderer.Simple(options));\n return styles;\n }\n }\n }\n styles.push(\n new Style({\n image: new Circle({\n radius: 4,\n fill: new Fill({\n color: 'rgba(0,155,255, 0.8)',\n }),\n }),\n fill: new Fill({\n color: 'rgba(255, 255, 255, 0.6)',\n }),\n stroke: new Stroke({\n color: '#009BFF',\n width: 2,\n }),\n }),\n );\n return styles;\n };\n }\n\n getSimpleStyle(feature, _render) {\n let { cluster } = this._options;\n const render = { ..._render };\n if (\n render.type === 'Marker' &&\n (render?.style?.icon || (cluster && render?.style?.image))\n ) {\n render.style = {\n ...render.style,\n ...this.getMarkerOptions(feature, render.style),\n };\n }\n\n return render;\n }\n\n getMultipleStyle(feature, _render) {\n const render = { ..._render };\n\n if (render?.render?.length) {\n render.render = render.render.map(v => this.getSimpleStyle(feature, v));\n }\n\n return render;\n }\n\n getMarkerOptions(feature, style) {\n let icon = style?.icon || style;\n let image = style?.image;\n let scale = style?.scale;\n let color = style?.color || '#2491fc';\n let iconSize = style?.size || null;\n let hideFooter = style?.hideFooter || null;\n let { cluster, point, label } = this._options;\n // 判断是否为自定义函数渲染\n let isFun = isFunction(style);\n let data = {};\n if (isFun) {\n data = style(feature) || {};\n icon = data?.style?.icon || data?.icon || icon;\n color = data?.style?.color || data?.color || color;\n image = data?.style?.image || data?.image || image;\n scale = data?.style?.scale || data?.scale || scale;\n iconSize = data?.style?.size || data?.size || iconSize;\n hideFooter = data?.style?.hideFooter || data?.hideFooter || hideFooter;\n }\n\n const size = feature.get('features')?.length || 0;\n const iconOptions = {\n size: iconSize,\n hideFooter,\n };\n let P = {\n marker: {\n // 图标\n icon,\n image,\n iconOptions,\n scale,\n },\n point: {\n // 点位\n icon,\n type: 'PointIcon',\n iconOptions,\n },\n marker_cluster: {\n // 聚合图标\n icon,\n image,\n scale,\n color: size > 1 ? '' : color,\n iconOptions:\n size > 1\n ? {\n hideFooter: true,\n info: { text: '', fontSize: 18 },\n ...(cluster?.iconOptions || {}),\n }\n : {},\n ...(size > 1 ? cluster?.style : cluster?.commonStyle),\n },\n point_cluster: {\n // 聚合点位\n icon,\n type: 'PointIcon',\n iconOptions:\n size > 1\n ? {\n text: size,\n }\n : {},\n ...(size > 1 && cluster?.style),\n },\n };\n\n let type = point ? 'point' : 'marker';\n\n if (cluster) {\n if (isObject(cluster)) {\n if (cluster.show) {\n type = 'marker_cluster';\n if (point) {\n type = 'point_cluster';\n }\n }\n } else {\n type = 'marker_cluster';\n if (point) {\n type = 'point_cluster';\n }\n }\n }\n\n let _style = P[type];\n if (label) {\n if (Object.keys(data)?.includes('customText')) {\n _style.text = data?.customText;\n } else {\n _style.text = this.getLabelStyle(feature, color);\n }\n }\n\n if (feature.isCluster && size > 1 && type === 'marker_cluster') {\n _style.text = this.getClusterTextStyle(size, cluster?.style?.numberStyle);\n }\n\n return _style;\n }\n\n setClusterSource(cluster) {\n let _this = this;\n cluster = isObject(cluster) ? cluster : { show: cluster };\n let { show, minDistance, distance, group } = cluster;\n // 重建 source 前,确保原始要素已按当前 group 写入 feature.show\n this.applyGroupVisibilityToFeatures(this._features, group || this.group);\n let source = new VectorSource({\n features: this._features?.filter(v => !v.hasOwnProperty('show') || v.show),\n });\n if (show) {\n group = group || this.group;\n let clusterSource = new Cluster({\n distance: distance || 100,\n minDistance: minDistance || 50,\n source,\n group,\n clusterChange: features => {\n this.setAlarmBgByFeatures(features);\n },\n createCluster: (point, features) => {\n let feature = new Feature({\n geometry: point,\n features: features.map(v => {\n v.layerKey = _this.key;\n return v;\n }),\n });\n\n if (group?.length) {\n let style, groupItem;\n const f = features[0];\n const size = features.length;\n group?.map(v => {\n if (v?.filter?.(f.values_)) {\n style = v.style || style;\n groupItem = v;\n }\n });\n\n // 当点位单独展示时,并且style为自定义函数\n if (size === 1 && isFunction(style)) {\n style = style(f);\n }\n\n let markerStyle = { ...style.style };\n\n if (size > 1 && groupItem?.clusterStyle?.iconSrc) {\n let _style = this.getCustomClusterStyle(\n feature,\n groupItem.clusterStyle,\n );\n feature.setStyle(_style);\n } else {\n if (size > 1) {\n if (style?.clusterStyle) {\n markerStyle = { ...style.clusterStyle };\n }\n\n const { numberStyle, iconOptions, ...otherStyle } = markerStyle;\n markerStyle = {\n ...otherStyle,\n text: this.getClusterTextStyle(\n markerStyle?.image ? size : ' ',\n numberStyle,\n ),\n iconOptions: {\n hideFooter: true,\n info: { text: size, fontSize: 18 },\n ...(iconOptions || cluster?.iconOptions || {}),\n },\n };\n }\n const otherStyle = groupItem.otherStyle || this._options?.otherStyle;\n\n feature.setStyle((feature, resolution) => {\n const styles = [\n new renderer.Marker(markerStyle)\n ];\n\n if (otherStyle) {\n if (isFunction(otherStyle)) {\n const _styles = otherStyle(feature, resolution);\n if (_styles) {\n if (Array.isArray(styles)) {\n styles.push(..._styles);\n } else {\n styles.push(_styles);\n }\n }\n }\n }\n\n return styles\n });\n }\n }\n\n // 增加聚合点位标识\n feature.isCluster = true;\n\n if (features.length === 1) {\n feature.setProperties(features[0].values_);\n }\n\n return feature;\n },\n ...cluster,\n });\n\n this.setSource(clusterSource);\n } else {\n this.setSource(source);\n }\n }\n\n // 清除报警背景\n clearAlarmBg() {\n if (this.map && this.overlays?.length) {\n this.overlays.map(overlay => this.map.removeOverlay(overlay));\n this.overlays = null;\n }\n }\n\n // 设置报警背景\n setAlarmBgByFeatures(features) {\n this.clearAlarmBg();\n this.overlays = [];\n\n if (this.map && this.alarmBg && features?.length) {\n features.map(feature => {\n let _feature = feature;\n\n const cluster = feature.get('features');\n if (cluster) {\n _feature = cluster.length < 2 ? cluster[0] : null;\n }\n\n if (_feature && (_feature.hasOwnProperty('show') ? _feature.show : true)) {\n let overlay = addOverlay(_feature, this.map, this.alarmBg);\n if (overlay) {\n this.overlays.push(overlay);\n }\n }\n });\n }\n }\n\n refresh() {\n getDataByHttpByParams({\n url: this.url,\n params: this.params,\n method: this.method,\n afterGetData: this.afterGetData,\n field: this.dataField,\n }).then(features => {\n if (features) {\n let new_features = features;\n this._features = new_features;\n\n let newFeatures = [];\n new_features.map(v => {\n let f = this.getFeatureByFieldValue('id', v.values_.id);\n if (f) {\n f.values_ = v.values_;\n } else {\n newFeatures.push(v);\n }\n });\n\n if (newFeatures.length) {\n this.getSource().addFeatures(newFeatures);\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n\n this.getSource().changed();\n }\n });\n }\n\n loadData(data) {\n this.getSource().clear();\n let features = createGeoJson(data, this.dataField);\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n\n this._features = features;\n this.applyGroupVisibilityToFeatures(this._features, this.group);\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n }\n\n loadUrlData(url, params, method, afterGetData = this.afterGetData) {\n this.getSource().clear();\n this._features = [];\n\n if (this.encrypt) {\n params = encryptParams(params, this.encrypt);\n }\n\n getDataByHttpByParams({\n url,\n params,\n method,\n afterGetData,\n field: this.dataField,\n }).then(features => {\n this.getSource().clear();\n this._features = [];\n\n if (features?.length) {\n this._features = features;\n this.applyGroupVisibilityToFeatures(this._features, this.group);\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n });\n }\n\n loadFeatures(features) {\n this.getSource().clear();\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n\n this._features = features;\n this.applyGroupVisibilityToFeatures(this._features, this.group);\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n }\n\n getFeatures() {\n const source = this.getSource().source || this.getSource();\n return source.getFeatures();\n }\n\n getFeatureByFieldValue(field, value) {\n return this.getFeatures().find(v => v.values_[field] === value);\n }\n\n getFeaturesByFieldValueOpera({ field, value, operation = '===', features, filter }) {\n return new Promise((resolve, reject) => {\n let _features = features || this.getFeatures();\n if (filter) {\n _features = _features.filter(feature => filter(feature.values_));\n }\n\n let result = _features;\n\n if (operation && value !== undefined) {\n if (['>', '>=', '<', '<=', '===', '!=='].includes(operation)) {\n try {\n // 通过动态创建方法自动传入操作符\n const fun = new Function(\n 'features',\n 'field',\n 'value',\n `return features.filter(v => v.values_[field] ${operation} value)`,\n );\n result = fun(_features, field, value);\n } catch (err) {\n reject(err);\n }\n } else if (operation === 'like') {\n // 包含\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\n } else if (operation === 'notLike') {\n // 不包含\n result = _features.filter(v => v.values_[field]?.indexOf(value) === -1);\n } else {\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\n }\n }\n\n resolve(result);\n });\n }\n\n // 获取地图\n getMap() {\n return this.map;\n }\n\n // 设置过滤条件\n setGroup(group) {\n if (group?.length) {\n this.applyGroupVisibilityToFeatures(this._features, group);\n this.group = group;\n this.setVisibleByGroup();\n\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n } else {\n this.setStyle(this.getStyleByMode());\n }\n\n this.setAlarmBgByFeatures(this._features);\n }\n }\n\n // 根据过滤条件组显示图层\n setVisibleByGroup() {\n const group = this.group;\n if (group?.length) {\n let visible = false;\n\n group.map(v => {\n if (!v.hasOwnProperty('show') || v.show) {\n visible = true;\n }\n });\n\n this.setVisible(visible);\n }\n }\n\n // 设置图层显示隐藏\n setVisible(visible) {\n super.setVisible(visible); // 将属性传递给父类\n\n const map = this.getMap && this.getMap();\n if (map) {\n map.layers.onChange();\n }\n\n // 判断是否完成过初始化,没有的话就加载一波数据\n if (!this.inited) {\n this.init();\n }\n\n if (!visible) {\n this.clearAlarmBg();\n } else {\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n }\n\n clearMoveEnd() {\n const map = this.map;\n if (map && this.moveEnd) {\n map.un('moveend', this.moveEnd);\n this.moveEnd = null;\n }\n }\n\n destroy() {\n this.clearMoveEnd();\n this.clearAlarmBg();\n }\n}\n\nexport default FeatureLayer;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -70,8 +70,8 @@ var transformGeometry = exports.transformGeometry = function transformGeometry(g
|
|
|
70
70
|
coordType = geometryInfo.coordType,
|
|
71
71
|
shapeType = geometryInfo.shapeType,
|
|
72
72
|
coordinateType = geometryInfo.coordinateType;
|
|
73
|
-
type = type || shapeType;
|
|
74
|
-
coordType = coordType || coordinateType;
|
|
73
|
+
type = type || shapeType || 'Point';
|
|
74
|
+
coordType = coordType || coordinateType || 'wgs84';
|
|
75
75
|
|
|
76
76
|
/**
|
|
77
77
|
* geometryInfo: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createFeatureCollection.js","names":["_format","require","_http","_interopRequireDefault","_mapTool","e","__esModule","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","l","iterator","n","u","a","f","next","done","Array","isArray","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","constructor","name","from","test","geoJsonFormat","GeoJSON","transformLonLatToWGS84","exports","lonLat","coordType","_lonLat","map","v","gcj","mapTool","bd09togcj02","gcj02towgs84","transformGeometryInfoToWGS84","lngLats","type","lngLatArr","_l","split","includes","res","_res$split","_res$split2","lng","lat","transformGeometry","geometryInfo","_type2","shapeType","coordinateType","_type","replace","s","toUpperCase","coordinates","createFeature","field","geometry","properties","createFeatureCollection","data","featureCollection","features","createGeoJson","new_features","readFeatures","getDataByHttp","url","params","method","afterGetData","request","http","get","post","body","then","_res2","_res","indexOf","getDataByHttpByParams","_ref","_url$indexOf","_res3"],"sources":["feature-layer/createFeatureCollection.js"],"sourcesContent":["import { GeoJSON } from 'ol/format';\nimport http from '../_util/http';\nimport mapTool from '../_util/mapTool';\n\nconst geoJsonFormat = new GeoJSON();\n\nexport const transformLonLatToWGS84 = (lonLat, coordType) => {\n let _lonLat = [...lonLat].map(v => Number(v));\n if (coordType === 'bmap') {\n let gcj = mapTool.bd09togcj02(lonLat[0], lonLat[1]);\n _lonLat = mapTool.gcj02towgs84(gcj[0], gcj[1]);\n } else if (coordType === 'amap') {\n _lonLat = mapTool.gcj02towgs84(lonLat[0], lonLat[1]);\n }\n\n return _lonLat;\n};\n\nexport const transformGeometryInfoToWGS84 = (lngLats, type, coordType) => {\n let lngLatArr = [];\n if (lngLats) {\n if (type === 'point') {\n let _l = typeof lngLats === 'string' ? lngLats.split(',') : lngLats;\n lngLatArr = transformLonLatToWGS84(_l, coordType);\n } else if (['polygon', 'polyline'].includes(type)) {\n lngLatArr[0] = [];\n lngLats.split(';').map(res => {\n let [lng, lat] = res.split(',');\n lngLatArr[0].push(transformLonLatToWGS84([Number(lng), Number(lat)], coordType));\n });\n }\n }\n\n return lngLatArr;\n};\n\nexport const transformGeometry = geometryInfo => {\n /**\n * geometry: {\n * \"type\": \"Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon | GeometryCollection\",\n * \"coordinates\": []\n * }\n */\n\n let { type, lngLats, coordType, shapeType, coordinateType } = geometryInfo;\n type = type || shapeType;\n coordType = coordType || coordinateType;\n\n /**\n * geometryInfo: {\n * coordType: \"wgs84\"\n * lngLats: \"119.02486914921874,25.63890915087647\"\n * type: \"point\"\n * }\n */\n\n let _type = type?.replace(/^\\S/, s => s.toUpperCase());\n if (_type === 'Polyline') {\n _type = 'MultiLineString';\n }\n\n return {\n type: _type,\n coordinates: transformGeometryInfoToWGS84(lngLats, type, coordType),\n };\n};\n\nexport const createFeature = (v, field) => {\n return {\n type: 'Feature',\n geometry: transformGeometry(v[field || 'geometryInfo']),\n properties: { ...v },\n };\n};\n\nexport const createFeatureCollection = (data, field) => {\n const featureCollection = {\n type: 'FeatureCollection',\n features: [],\n };\n\n let features = [];\n data.map(v => {\n if (v[field || 'geometryInfo']) {\n features.push(createFeature(v, field));\n }\n });\n\n featureCollection.features = features;\n\n return featureCollection;\n};\n\nexport const createGeoJson = (data, field) => {\n let new_features;\n if (data) {\n const res = createFeatureCollection(Array.isArray(data) ? data : [data], field);\n\n new_features = geoJsonFormat.readFeatures(res);\n }\n\n return new_features;\n};\n\nexport const getDataByHttp = (url, params, method, afterGetData, field) => {\n let request = http.get;\n if (method === 'POST' || method === 'post') {\n request = http.post;\n }\n return request(url, { body: params }).then(res => {\n let _res = res;\n if (afterGetData) _res = afterGetData(res);\n\n if (url?.indexOf('/geoserver/') !== -1) {\n return geoJsonFormat.readFeatures(_res);\n }\n\n if (_res?.data?.length) {\n return createGeoJson(_res.data, field);\n }\n });\n};\n\nexport const getDataByHttpByParams = ({ url, params, method, afterGetData, field }) => {\n let request = http.get;\n if (method === 'POST' || method === 'post') {\n request = http.post;\n }\n return request(url, { body: params }).then(res => {\n let _res = res;\n if (afterGetData) _res = afterGetData(res);\n\n if (url?.indexOf?.('/geoserver/') !== -1) {\n return geoJsonFormat.readFeatures(_res);\n }\n\n if (_res?.data?.length) {\n return createGeoJson(_res.data, field);\n }\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"createFeatureCollection.js","names":["_format","require","_http","_interopRequireDefault","_mapTool","e","__esModule","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","l","iterator","n","u","a","f","next","done","Array","isArray","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","constructor","name","from","test","geoJsonFormat","GeoJSON","transformLonLatToWGS84","exports","lonLat","coordType","_lonLat","map","v","gcj","mapTool","bd09togcj02","gcj02towgs84","transformGeometryInfoToWGS84","lngLats","type","lngLatArr","_l","split","includes","res","_res$split","_res$split2","lng","lat","transformGeometry","geometryInfo","_type2","shapeType","coordinateType","_type","replace","s","toUpperCase","coordinates","createFeature","field","geometry","properties","createFeatureCollection","data","featureCollection","features","createGeoJson","new_features","readFeatures","getDataByHttp","url","params","method","afterGetData","request","http","get","post","body","then","_res2","_res","indexOf","getDataByHttpByParams","_ref","_url$indexOf","_res3"],"sources":["feature-layer/createFeatureCollection.js"],"sourcesContent":["import { GeoJSON } from 'ol/format';\nimport http from '../_util/http';\nimport mapTool from '../_util/mapTool';\n\nconst geoJsonFormat = new GeoJSON();\n\nexport const transformLonLatToWGS84 = (lonLat, coordType) => {\n let _lonLat = [...lonLat].map(v => Number(v));\n if (coordType === 'bmap') {\n let gcj = mapTool.bd09togcj02(lonLat[0], lonLat[1]);\n _lonLat = mapTool.gcj02towgs84(gcj[0], gcj[1]);\n } else if (coordType === 'amap') {\n _lonLat = mapTool.gcj02towgs84(lonLat[0], lonLat[1]);\n }\n\n return _lonLat;\n};\n\nexport const transformGeometryInfoToWGS84 = (lngLats, type, coordType) => {\n let lngLatArr = [];\n if (lngLats) {\n if (type === 'point') {\n let _l = typeof lngLats === 'string' ? lngLats.split(',') : lngLats;\n lngLatArr = transformLonLatToWGS84(_l, coordType);\n } else if (['polygon', 'polyline'].includes(type)) {\n lngLatArr[0] = [];\n lngLats.split(';').map(res => {\n let [lng, lat] = res.split(',');\n lngLatArr[0].push(transformLonLatToWGS84([Number(lng), Number(lat)], coordType));\n });\n }\n }\n\n return lngLatArr;\n};\n\nexport const transformGeometry = geometryInfo => {\n /**\n * geometry: {\n * \"type\": \"Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon | GeometryCollection\",\n * \"coordinates\": []\n * }\n */\n\n let { type, lngLats, coordType, shapeType, coordinateType } = geometryInfo;\n type = type || shapeType || 'Point';\n coordType = coordType || coordinateType || 'wgs84';\n\n /**\n * geometryInfo: {\n * coordType: \"wgs84\"\n * lngLats: \"119.02486914921874,25.63890915087647\"\n * type: \"point\"\n * }\n */\n\n let _type = type?.replace(/^\\S/, s => s.toUpperCase());\n if (_type === 'Polyline') {\n _type = 'MultiLineString';\n }\n\n return {\n type: _type,\n coordinates: transformGeometryInfoToWGS84(lngLats, type, coordType),\n };\n};\n\nexport const createFeature = (v, field) => {\n return {\n type: 'Feature',\n geometry: transformGeometry(v[field || 'geometryInfo']),\n properties: { ...v },\n };\n};\n\nexport const createFeatureCollection = (data, field) => {\n const featureCollection = {\n type: 'FeatureCollection',\n features: [],\n };\n\n let features = [];\n data.map(v => {\n if (v[field || 'geometryInfo']) {\n features.push(createFeature(v, field));\n }\n });\n\n featureCollection.features = features;\n\n return featureCollection;\n};\n\nexport const createGeoJson = (data, field) => {\n let new_features;\n if (data) {\n const res = createFeatureCollection(Array.isArray(data) ? data : [data], field);\n\n new_features = geoJsonFormat.readFeatures(res);\n }\n\n return new_features;\n};\n\nexport const getDataByHttp = (url, params, method, afterGetData, field) => {\n let request = http.get;\n if (method === 'POST' || method === 'post') {\n request = http.post;\n }\n return request(url, { body: params }).then(res => {\n let _res = res;\n if (afterGetData) _res = afterGetData(res);\n\n if (url?.indexOf('/geoserver/') !== -1) {\n return geoJsonFormat.readFeatures(_res);\n }\n\n if (_res?.data?.length) {\n return createGeoJson(_res.data, field);\n }\n });\n};\n\nexport const getDataByHttpByParams = ({ url, params, method, afterGetData, field }) => {\n let request = http.get;\n if (method === 'POST' || method === 'post') {\n request = http.post;\n }\n return request(url, { body: params }).then(res => {\n let _res = res;\n if (afterGetData) _res = afterGetData(res);\n\n if (url?.indexOf?.('/geoserver/') !== -1) {\n return geoJsonFormat.readFeatures(_res);\n }\n\n if (_res?.data?.length) {\n return createGeoJson(_res.data, field);\n }\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
package/lib/map/index.js
CHANGED
|
@@ -88,7 +88,8 @@ function Map(props) {
|
|
|
88
88
|
fitViewMaxZoom = props.fitViewMaxZoom,
|
|
89
89
|
encrypt = props.encrypt,
|
|
90
90
|
popupZIndex = props.popupZIndex,
|
|
91
|
-
customEnumText = props.customEnumText
|
|
91
|
+
customEnumText = props.customEnumText,
|
|
92
|
+
projection = props.projection;
|
|
92
93
|
var TextEnum = _objectSpread(_objectSpread({}, _defaultTextEnum["default"]), customEnumText);
|
|
93
94
|
var _useState = (0, _react.useState)(false),
|
|
94
95
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -175,7 +176,8 @@ function Map(props) {
|
|
|
175
176
|
center: center || longitude && latitude && [longitude, latitude] || [116.397228, 30.9096],
|
|
176
177
|
zoom: zoom || defaultZoomLevel && Number(defaultZoomLevel) || 4,
|
|
177
178
|
minZoom: minZoom && Number(minZoom) || props.minZoom || 4,
|
|
178
|
-
maxZoom: maxZoom && Number(maxZoom) || props.maxZoom
|
|
179
|
+
maxZoom: maxZoom && Number(maxZoom) || props.maxZoom,
|
|
180
|
+
projection: projection || 'EPSG:4326'
|
|
179
181
|
};
|
|
180
182
|
map = new _ol.Map({
|
|
181
183
|
target: mapDomRef.current,
|
|
@@ -185,7 +187,6 @@ function Map(props) {
|
|
|
185
187
|
// layers: [...getBaseLayers({ mapStyle, dark, tk, baseMapStyle })],
|
|
186
188
|
pixelRatio: 1,
|
|
187
189
|
view: new _ol.View(_objectSpread(_objectSpread({}, viewDefault), {}, {
|
|
188
|
-
projection: 'EPSG:4326',
|
|
189
190
|
constrainResolution: true
|
|
190
191
|
})),
|
|
191
192
|
// 设置缩放级别为整数
|
|
@@ -769,12 +770,15 @@ function Map(props) {
|
|
|
769
770
|
var top = event.nativeEvent.offsetY + 15;
|
|
770
771
|
|
|
771
772
|
// 适配 右边和 上面的情况
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
773
|
+
|
|
774
|
+
if (dom) {
|
|
775
|
+
var rightBound = mapRef.current.getViewport().clientWidth - dom.getBoundingClientRect().width - 15;
|
|
776
|
+
var topBound = mapRef.current.getViewport().clientHeight - dom.getBoundingClientRect().height - 15;
|
|
777
|
+
left = left > rightBound ? rightBound : left;
|
|
778
|
+
top = top > topBound ? topBound : top;
|
|
779
|
+
dom.style.left = "".concat(left, "px");
|
|
780
|
+
dom.style.top = "".concat(top, "px");
|
|
781
|
+
}
|
|
778
782
|
}
|
|
779
783
|
};
|
|
780
784
|
return /*#__PURE__*/_react["default"].createElement(_antd.ConfigProvider, {
|
|
@@ -832,6 +836,7 @@ Map.propTypes = {
|
|
|
832
836
|
baseMapStyle: _propTypes["default"].object,
|
|
833
837
|
encrypt: _propTypes["default"].bool,
|
|
834
838
|
mapDomStyle: _propTypes["default"].object,
|
|
835
|
-
popupZIndex: _propTypes["default"].number
|
|
839
|
+
popupZIndex: _propTypes["default"].number,
|
|
840
|
+
projection: _propTypes["default"].string
|
|
836
841
|
};
|
|
837
842
|
//# sourceMappingURL=index.js.map
|
package/lib/map/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_antd","_zh_CN","_interopRequireDefault","_propTypes","_ol","_layer","_source","_control","_util","_classnames","_getDefaultMapInfo","_Popup","_getBaseLayers","_TdtImageryProvider","_HighLayer","_Search","_events","_layer2","_createFeatureCollection","_FeatureLayer","_ImageLayer","_ImageTileLayer","_ahooks","_provider","_Layers","_Analysis","_WmsLayer","_search","_lodash","_defaultTextEnum","_excluded","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Symbol","iterator","constructor","prototype","_regenerator","toStringTag","c","Generator","u","create","_regeneratorDefine2","p","y","G","v","a","d","bind","length","l","TypeError","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","displayName","w","m","_regeneratorDefine","_invoke","enumerable","configurable","writable","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","name","test","next","push","ownKeys","keys","filter","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","toPrimitive","String","Number","Map","props","_props$width","width","_props$height","height","children","center","dark","style","mapDomStyle","zoom","createdMap","mapStyle","baseMapStyle","tk","onCloseTemplateBefore","onZoom","customBaseLayers","positionStyle","_props$autoView","autoView","_props$closePopupAuto","closePopupAutoView","hidePopupTable","fitViewMaxZoom","encrypt","popupZIndex","customEnumText","TextEnum","defaultTextEnum","_useState","useState","_useState2","mapLoaded","setMapLoaded","_useState3","_useState4","setModal","_useState5","_useState6","tipVis","setTipVis","_useState7","_useState8","tip","setTip","_useState9","_useState0","pointTip","setPointTip","mapRef","useRef","timerRef","mapDomRef","highLayerRef","popupRef","timeRef","baseLayerRef","useEffect","initMap","window","removeEventListener","handleResize","current","destroy","setInterval","layers","getLayers","getArray","map","autoRefresh","key","refresh","clearInterval","useUpdateEffect","setMapStyle","_ref","_callee3","_baseLayerRef$current","defaultMapInfo","minZoom","maxZoom","defaultZoomLevel","longitude","latitude","otherDefaultMapInfo","viewDefault","baseLayerParams","_baseLayerRef$current2","view","registerMapEvent","registerEvent","hoverFeature","_context3","_registerEvent","eventTarget","feature","event","_feature$eventTarget","properties","getProperties","layer","getLayerByFeature","_registerMapEvent","getDefaultMapInfo","OlMap","target","controls","defaultControls","extend","pixelRatio","View","projection","constrainResolution","smoothResolutionConstraint","setPopupZIndex","zIndex","_popupRef$current","_popupRef$current$set","setZIndex","getBaseLayers","baseLayer","cloneDeep","item","addLayer","Layers","analysis","Analysis","_mapStyle","_map$getLayerByKey","_map$getLayerByKey2","_TdtImageryProvider$g","TdtImageryProvider","getSource","_TdtImageryProvider$g2","tileLayerSource","markLayerSource","getLayerByKey","setSource","getView","HighLayer","highlightLayer","changeBaseLayer","_baseLayerRef$current3","_baseLayerRef$current4","removeLayer","_dark","setHighlightFeature","options","addHighlightFeature","clearHighlightFeature","clearFeatures","getAllLayers","find","getWmsVisibleLayers","allLayers","includes","Image","ImageTileLayer","ImageLayer","WmsLayer","getWfsVisibleLayers","VectorLayer","getVisibleLayersByKeys","_feature$values_","_feature$values_2","source","hasFeature","layerKey","values_","getMapFeatureInfoByText","text","poiSearch","params","undefined","getLayerHasViewOnlyByFeature","viewOnly","showTip","content","hideTip","showPointTip","hidePointTip","showModal","hideModal","showTemplateByFilter","_ref2","_callee","field","obj","_context","show","getFeatureByFieldValue","features","showTemplate","_x","_x2","_x3","_x4","_popupRef$current2","_popupRef$current2$sh","hideTemplate","_popupRef$current3","_popupRef$current3$hi","setLastView","_popupRef$current4","_popupRef$current4$se","setLabelVisible","visible","FeatureLayer","label","setClusterVisible","cluster","setPointVisible","point","getViewOptions","_view$getCenter","getCenter","_view$getCenter2","x","getZoom","fitView","_e$values_","extent","getExtent","VectorSource","geometryInfo","_e$","vectorSource","createGeoJson","addFeatures","Feature","geometry","noFitView","currentZoom","fit","padding","duration","animate","fitViewByOptions","on","analysisActive","toolboxActive","drawActive","getFeaturesAtPixel","pixel","cursor","labelField","tipTemplate","registerEventLayer","uid","getUid","hoverUid","_ref3","_callee2","_features2","_features","_context2","_clickObject","isHighLight","template","getWMSFeatureInfoByLayers","_x5","clearTimeout","setTimeout","addEventListener","updateSize","onMouseMove","dom","document","getElementById","left","nativeEvent","offsetX","top","offsetY","rightBound","getViewport","clientWidth","getBoundingClientRect","topBound","clientHeight","concat","createElement","ConfigProvider","locale","zhCN","background","className","classnames","ref","onMouseOver","onMouseOut","id","onPopupClick","_default","exports","propTypes","PropTypes","oneOfType","string","number","func","array","bool","isRequired","object"],"sources":["map/index.jsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { ConfigProvider } from 'antd';\nimport zhCN from 'antd/es/locale/zh_CN';\nimport PropTypes from 'prop-types';\nimport { Map as OlMap, View, Feature } from 'ol';\nimport { Vector as VectorLayer, Image } from 'ol/layer';\nimport { Vector as VectorSource } from 'ol/source';\nimport { defaults as defaultControls } from 'ol/control';\nimport { getUid } from 'ol/util';\nimport classnames from 'classnames';\nimport getDefaultMapInfo from '../_util/getDefaultMapInfo';\nimport Popup from './Popup';\nimport getBaseLayers from './getBaseLayers';\nimport TdtImageryProvider from './getBaseLayers/imagery/tdt/TdtImageryProvider';\nimport HighLayer from '../tools/Utils/HighLayer';\nimport { getMapFeatureInfoByText } from '../tools/Search';\nimport { registerEventLayer } from '../events';\nimport { getWMSFeatureInfoByLayers } from '../_util/layer';\nimport { createGeoJson } from '../feature-layer/createFeatureCollection';\nimport FeatureLayer from '../feature-layer/FeatureLayer';\nimport ImageLayer from '../image-layer/ImageLayer';\nimport ImageTileLayer from '../image-layer/ImageTileLayer';\nimport { useUpdateEffect } from 'ahooks';\nimport Provider from '../provider';\nimport Layers from './Layers';\n\nimport Analysis from './Analysis';\nimport WmsLayer from '../wms-layer/WmsLayer';\nimport 'ol/ol.css';\nimport './style';\nimport { poiSearch } from '../_util/search';\nimport { cloneDeep } from 'lodash';\nimport defaultTextEnum from './defaultTextEnum.js';\n\n\nfunction Map(props) {\n const {\n width = '100%',\n height = '100%',\n children,\n center,\n dark,\n style,\n mapDomStyle,\n zoom,\n createdMap,\n mapStyle,\n // bmap 百度地图 amap 高德地图 tmap 天地图\n baseMapStyle,\n tk,\n onCloseTemplateBefore,\n onZoom,\n customBaseLayers,\n positionStyle,\n autoView = true,\n closePopupAutoView = true,\n hidePopupTable,\n fitViewMaxZoom,\n encrypt,\n popupZIndex,\n customEnumText,\n } = props;\n const TextEnum = {\n ...defaultTextEnum,\n ...customEnumText,\n };\n\n\n\n\n const [mapLoaded, setMapLoaded] = useState(false);\n // 视野高度\n const [, setModal] = useState(null);\n const [tipVis, setTipVis] = useState(false);\n const [tip, setTip] = useState(null);\n const [pointTip, setPointTip] = useState(null);\n const mapRef = useRef(null);\n const timerRef = useRef(null);\n const mapDomRef = useRef(null);\n const highLayerRef = useRef();\n const popupRef = useRef();\n const timeRef = useRef(null);\n\n const baseLayerRef = useRef([]);\n\n useEffect(() => {\n initMap();\n return () => {\n window.removeEventListener('resize', handleResize);\n highLayerRef.current && highLayerRef.current.destroy();\n };\n }, []);\n\n useEffect(() => {\n if (mapRef.current) {\n timerRef.current = setInterval(() => {\n const layers = mapRef.current.getLayers().getArray() || [];\n layers.map(v => {\n if (v.autoRefresh && v.key && v.get('visible') && v.refresh) {\n v.refresh();\n }\n });\n }, 10000);\n }\n return () => {\n if (timerRef.current) {\n clearInterval(timerRef.current);\n }\n };\n }, []);\n\n useUpdateEffect(() => {\n mapRef.current.setMapStyle(mapStyle);\n }, [mapStyle]);\n\n const initMap = async () => {\n const defaultMapInfo = getDefaultMapInfo();\n const {\n minZoom,\n maxZoom,\n defaultZoomLevel,\n longitude,\n latitude,\n ...otherDefaultMapInfo\n } = defaultMapInfo;\n\n // 全屏\n let viewDefault = {\n center: center ||\n (longitude && latitude && [longitude, latitude]) || [116.397228, 30.9096],\n zoom: zoom || (defaultZoomLevel && Number(defaultZoomLevel)) || 4,\n minZoom: (minZoom && Number(minZoom)) || props.minZoom || 4,\n maxZoom: (maxZoom && Number(maxZoom)) || props.maxZoom,\n };\n let map = new OlMap({\n target: mapDomRef.current,\n controls: defaultControls({ zoom: false }).extend([]),\n // layers: [...getBaseLayers({ mapStyle, dark, tk, baseMapStyle })],\n pixelRatio: 1,\n view: new View({\n ...viewDefault,\n projection: 'EPSG:4326',\n constrainResolution: true,\n }),\n // 设置缩放级别为整数\n constrainResolution: true,\n // 关闭无级缩放地图\n smoothResolutionConstraint: false,\n });\n\n // 统一加密啊配置\n map.encrypt = encrypt;\n\n // 气泡层级\n map.popupZIndex = popupZIndex;\n\n // 设置气泡层级\n map.setPopupZIndex = (zIndex) => {\n map.popupZIndex = zIndex;\n popupRef.current?.setZIndex?.(zIndex);\n }\n\n const baseLayerParams = {\n ...otherDefaultMapInfo,\n mapStyle: mapStyle || defaultMapInfo.mapStyle || 'vec',\n baseMapStyle: baseMapStyle || defaultMapInfo.baseMapStyle || 'TdtImageryProvider',\n dark: dark || defaultMapInfo.dark,\n tk: tk || defaultMapInfo.tk,\n };\n\n if (customBaseLayers) {\n baseLayerRef.current = [...customBaseLayers(baseLayerParams)];\n } else {\n baseLayerRef.current = [...getBaseLayers(baseLayerParams)];\n }\n\n // 用于鹰眼图层\n map.baseLayer = cloneDeep(baseLayerRef.current);\n\n map.baseLayerParams = baseLayerParams;\n\n if (baseLayerRef.current?.length) {\n baseLayerRef.current?.map(item => {\n map.addLayer(item);\n });\n }\n\n map.tk = tk;\n\n // 隐藏表格弹出框\n map.hidePopupTable = hidePopupTable;\n\n // 自动调整视角\n map.autoView = autoView;\n\n // 关闭气泡自动调整视角\n map.closePopupAutoView = closePopupAutoView;\n\n // 图层管理\n map.layers = new Layers({ map });\n\n // 分析管理\n map.analysis = new Analysis({ map });\n\n mapRef.current = map;\n\n // 地图视角默认配置\n map.viewDefault = viewDefault;\n\n // 设置地图底图样式\n map.setMapStyle = _mapStyle => {\n let [tileLayerSource, markLayerSource] = TdtImageryProvider.getSource({\n mapStyle: _mapStyle,\n tk,\n });\n\n map.getLayerByKey('__TDT_TILE')?.setSource(tileLayerSource);\n map.getLayerByKey('__TDT_MARK')?.setSource(markLayerSource);\n };\n const view = map.getView();\n\n // 高亮效果\n highLayerRef.current = new HighLayer({\n map,\n TextEnum\n\n });\n map.highlightLayer = highLayerRef.current;\n\n // 切换底图\n map.changeBaseLayer = baseMapStyle => {\n baseLayerRef.current?.map(item => {\n map.removeLayer(item);\n });\n\n let _dark = baseMapStyle.style === 'img' ? false: dark;\n baseLayerRef.current = [...getBaseLayers({ mapStyle, dark: _dark, tk, baseMapStyle })];\n baseLayerRef.current?.map(item => {\n map.addLayer(item);\n });\n map.baseLayer = cloneDeep(baseLayerRef.current);\n\n return map.baseLayer;\n };\n\n // 获取基础图层\n map.getBaseLayers = getBaseLayers;\n\n // 设置高亮\n map.setHighlightFeature = (feature, options) => {\n map.highlightLayer.addHighlightFeature(feature, options);\n };\n\n // 清除高亮\n map.clearHighlightFeature = () => {\n map.highlightLayer.clearFeatures();\n };\n\n // 根 key 查找图层\n map.getLayerByKey = key => {\n return map.getAllLayers().find(layer => {\n if (layer.key === key) {\n return layer;\n }\n });\n };\n\n // 查找展示的绑定key的wms图层\n map.getWmsVisibleLayers = keys => {\n let layers = [];\n let allLayers = map.getAllLayers();\n if (Array.isArray(keys) && keys?.length) {\n allLayers = allLayers.filter(item => keys.includes(item.key));\n }\n allLayers.map(layer => {\n if (\n layer.key &&\n (layer instanceof Image ||\n layer instanceof ImageTileLayer ||\n layer instanceof ImageLayer ||\n layer instanceof WmsLayer) &&\n layer.get('visible')\n ) {\n layers.push(layer);\n }\n });\n return layers;\n };\n\n // 查找展示的绑定key的wfs图层\n map.getWfsVisibleLayers = keys => {\n let layers = [];\n let allLayers = map.getAllLayers();\n if (Array.isArray(keys) && keys?.length) {\n allLayers = allLayers.filter(item => keys.includes(item.key));\n }\n allLayers.map(layer => {\n if (layer.key && layer instanceof VectorLayer && layer.get('visible')) {\n layers.push(layer);\n }\n });\n return layers;\n };\n\n // 根据key查找展示的图层,不传keys查所有展示的除底图的带key的图层\n map.getVisibleLayersByKeys = keys => {\n let layers = map.getAllLayers() || [];\n return layers.filter(layer => {\n if (typeof keys === 'string') {\n return layer.key === keys && layer.get('visible');\n } else if (Array.isArray(keys)) {\n return keys.includes(layer.key) && layer.get('visible');\n } else if (layer.key !== 'Highlight') {\n return layer.get('visible') && layer.key;\n }\n });\n };\n\n // 通过图形查询所属图层\n map.getLayerByFeature = feature => {\n return map.getAllLayers().find(layer => {\n if (layer.key) {\n if (feature?.key && feature.key === layer.key) {\n return layer;\n } else if (layer instanceof VectorLayer && layer.key !== 'Highlight') {\n const source = layer.getSource();\n if (source.source && source.source.hasFeature(feature)) {\n return layer;\n } else if (source.hasFeature(feature)) {\n return layer;\n }\n } else if (feature?.layerKey && feature?.layerKey === layer.key) {\n return layer;\n } else if (feature?.values_?.key && layer.key === feature?.values_?.key) {\n return layer;\n }\n }\n });\n };\n\n // 根据关键字获取图形信息\n map.getMapFeatureInfoByText = text => {\n return getMapFeatureInfoByText(map, text);\n };\n\n // poi查询\n map.poiSearch = (params = {}) => {\n return poiSearch(params);\n };\n\n // 获取图层是否允许点击\n map.getLayerHasViewOnlyByFeature = feature => {\n let layer = map.getLayerByFeature(feature);\n return layer?.viewOnly;\n };\n\n // 展示提示\n map.showTip = content => {\n setTip(content);\n };\n\n // 隐藏提示\n map.hideTip = () => {\n setTip(null);\n };\n\n map.showPointTip = content => {\n setPointTip(content);\n };\n\n // 隐藏提示\n map.hidePointTip = () => {\n setPointTip(null);\n };\n\n // 展示弹窗\n map.showModal = params => {\n setModal(params);\n };\n\n // 隐藏弹窗\n map.hideModal = () => {\n setModal(null);\n };\n\n // 根据图层条件设置图层选中\n map.showTemplateByFilter = async (key, field, value, options) => {\n let layer = map.getLayerByKey(key);\n if (layer?.show) {\n let obj = layer.getFeatureByFieldValue(field, value);\n if (obj?.then) {\n obj.then(features => {\n if (features?.length) {\n let feature = features[0];\n map.showTemplate(feature.feature || feature, options);\n }\n });\n } else {\n if (obj) {\n map.showTemplate(obj, options);\n }\n }\n }\n };\n\n // 展示看板\n map.showTemplate = (feature, options) => {\n popupRef.current?.showTemplate?.(feature, options);\n };\n\n // 隐藏看板\n map.hideTemplate = () => {\n popupRef.current?.hideTemplate?.();\n };\n\n map.setLastView = () => {\n popupRef.current?.setLastView?.();\n };\n\n // 下标显隐\n map.setLabelVisible = visible => {\n map.getAllLayers().find(layer => {\n if (layer instanceof FeatureLayer) {\n layer.label = visible;\n }\n });\n };\n\n // 聚合显隐\n map.setClusterVisible = visible => {\n map.getAllLayers().find(layer => {\n if (layer instanceof FeatureLayer) {\n layer.cluster = visible;\n }\n });\n };\n\n // 海量点显隐\n map.setPointVisible = visible => {\n map.getAllLayers().find(layer => {\n if (layer instanceof FeatureLayer) {\n layer.point = visible;\n }\n });\n };\n\n // 通过返回值控制是否执行关闭\n map.onCloseTemplateBefore = feature => {\n if (onCloseTemplateBefore) {\n return onCloseTemplateBefore(feature);\n }\n };\n\n map.getViewOptions = () => {\n const view = map.getView();\n\n const [x, y] = view.getCenter();\n\n return {\n zoom: view.getZoom(),\n x,\n y,\n };\n };\n\n // 自适应\n map.fitView = (e, options) => {\n if (e) {\n let extent;\n\n if (e instanceof VectorLayer) {\n // 针对图层处理\n extent = e.getSource().getExtent();\n } else if (e instanceof VectorSource) {\n // 针对图层源处理\n extent = e.getExtent();\n } else if (Array.isArray(e) || e.geometryInfo) {\n // 针对数据处理\n let vectorSource = new VectorSource();\n\n if (e.geometryInfo || e?.[0]?.geometryInfo) {\n // 针对数据处理\n let f = createGeoJson(e);\n vectorSource.addFeatures(f);\n } else if (e instanceof Feature || e?.[0] instanceof Feature) {\n // 针对图形处理\n vectorSource.addFeatures(e);\n }\n\n extent = vectorSource.getExtent();\n } else if (e?.values_?.geometry) {\n // 针对单个图形\n extent = e.values_.geometry.getExtent();\n }\n\n if (extent) {\n if (e?.noFitView) {\n return;\n }\n\n let currentZoom = map.getView().getZoom();\n const maxZoom = fitViewMaxZoom || 16;\n map.getView().fit(extent, {\n padding: [100, 400, 100, 400],\n maxZoom: currentZoom > maxZoom ? currentZoom : maxZoom,\n duration: 500,\n ...options,\n });\n } else {\n map.getView().animate({ ...map.viewDefault, duration: 500, ...options });\n }\n } else {\n map.getView().animate({ ...map.viewDefault, duration: 500, ...options });\n }\n };\n\n map.fitViewByOptions = options => {\n const { x, y, zoom } = options;\n if (x && y) {\n const view = map.getView();\n view.animate({ zoom: zoom || view.getZoom(), center: [Number(x), Number(y)] });\n }\n };\n\n // 鼠标移入展示名称\n map.on('pointermove', event => {\n if (!(map.analysisActive || map.toolboxActive || map.drawActive)) {\n const feature = map.getFeaturesAtPixel(event.pixel)[0];\n if (feature) {\n let layer = map.getLayerByFeature(feature);\n\n mapDomRef.current.style.cursor = 'pointer'; // 设置手形光标\n\n if (layer && (layer.labelField || layer.tipTemplate)) {\n const { labelField, tipTemplate } = layer;\n let label;\n if (tipTemplate) {\n label = tipTemplate(feature.values_);\n } else {\n label = feature.values_[labelField];\n }\n\n if (label) {\n map.showPointTip(label);\n } else {\n map.hidePointTip();\n }\n } else {\n map.hidePointTip();\n }\n } else {\n map.hidePointTip();\n\n mapDomRef.current.style.cursor = 'default'; // 恢复默认光标\n }\n }\n });\n\n // 注册事件\n registerEventLayer(map, props);\n\n function registerMapEvent(eventTarget, e) {\n if (map[eventTarget]) {\n map[eventTarget](e);\n }\n }\n\n function registerEvent(eventTarget, feature, event) {\n if (feature) {\n let properties = feature.getProperties();\n\n // 触发自身事件\n feature[eventTarget]?.(properties, event);\n\n let layer = map.getLayerByFeature(feature);\n\n if (layer?.[eventTarget]) {\n layer[eventTarget](properties, event);\n }\n }\n }\n\n // 鼠标事件,点击属性传递\n let hoverFeature;\n map.on('pointermove', event => {\n registerMapEvent('onMouseMove', event);\n\n const feature = map.getFeaturesAtPixel(event.pixel)[0];\n\n if (feature) {\n registerEvent('onMouseMove', feature, event);\n\n // 判断是否在图形内移动\n if (hoverFeature) {\n let uid = getUid(feature);\n let hoverUid = getUid(hoverFeature);\n\n // 判断是否进入新的图形\n if (uid !== hoverUid) {\n registerEvent('onMouseLeave', hoverFeature, event);\n\n registerEvent('onMouseEnter', feature, event);\n hoverFeature = feature;\n }\n } else {\n registerEvent('onMouseEnter', feature, event);\n hoverFeature = feature;\n }\n\n registerEvent('onMouseMove', feature, event);\n } else {\n if (hoverFeature) {\n registerEvent('onMouseLeave', hoverFeature, event);\n }\n\n hoverFeature = null;\n }\n });\n\n // 点击事件,通过属性传递\n map.on('click', async event => {\n registerMapEvent('onClick', event);\n map.hideTip();\n map.hidePointTip();\n map._clickObject = event;\n let features = map.getFeaturesAtPixel(event.pixel) || [];\n\n if (!(map.analysisActive || map.toolboxActive)) {\n // 如果点击了高亮的元素直接结束,不再往下查询\n if (features?.[0]?.isHighLight) {\n return registerEvent('onClick', features[0], event);\n }\n\n if (features.length) {\n registerEvent('onClick', features[0], event);\n }\n\n // 过滤掉仅展示的图层和没有设置气泡的图层\n features = features.filter(feature => {\n let layer = map.getLayerByFeature(feature);\n return layer && !layer.viewOnly && layer.template;\n });\n\n if (!features.length) {\n let layers = map.getWmsVisibleLayers().filter(layer => !layer.viewOnly);\n let _features = await getWMSFeatureInfoByLayers(event, map, layers);\n if (_features?.length) {\n features = [_features[0]];\n\n registerEvent('onClick', features[0], event);\n }\n }\n\n if (features.length) {\n map.showTemplate(features);\n } else {\n map.hideTemplate();\n }\n } else if (features.length) {\n registerEvent('onClick', features[0], event);\n }\n });\n\n // 双击事件,通过属性传递\n map.on('dblclick', event => {\n registerMapEvent('onDoubleClick', event);\n\n const feature = map.getFeaturesAtPixel(event.pixel)[0];\n\n registerEvent('onDoubleClick', feature, event);\n });\n\n // 层级事件\n map.onZoom = zoom => {\n onZoom && onZoom(zoom);\n };\n\n //监测地图zoom改变\n map.getView().on('change:resolution', function () {\n if (timeRef.current) {\n clearTimeout(timeRef.current);\n }\n\n timeRef.current = setTimeout(() => {\n let zoom = map.getView().getZoom();\n map.onZoom(zoom);\n }, 50);\n });\n\n createdMap && createdMap(map);\n\n setMapLoaded(true);\n\n window.addEventListener('resize', handleResize);\n };\n\n const handleResize = () => {\n if (timeRef.current) {\n clearTimeout(timeRef.current);\n }\n\n timeRef.current = setTimeout(() => {\n mapRef.current && mapRef.current.updateSize();\n }, 50);\n };\n\n const onMouseMove = event => {\n if (pointTip || tip) {\n let dom = document.getElementById('TIP');\n\n let left = event.nativeEvent.offsetX + 15;\n let top = event.nativeEvent.offsetY + 15;\n\n // 适配 右边和 上面的情况\n const rightBound =\n mapRef.current.getViewport().clientWidth - dom.getBoundingClientRect().width - 15;\n const topBound =\n mapRef.current.getViewport().clientHeight - dom.getBoundingClientRect().height - 15;\n\n left = left > rightBound ? rightBound : left;\n top = top > topBound ? topBound : top;\n\n dom.style.left = `${left}px`;\n dom.style.top = `${top}px`;\n }\n };\n\n return (\n <ConfigProvider locale={zhCN}>\n <div\n style={{ width, height, background: dark ? '#152937' : '#cccccc', ...style }}\n className={classnames('ol-map-container', { 'ol-map-container-dark': dark })}\n >\n <div\n ref={mapDomRef}\n className={classnames('ol-map-content')}\n style={{ ...mapDomStyle }}\n onMouseMove={onMouseMove}\n onMouseOver={() => setTipVis(true)}\n onMouseOut={() => setTipVis(false)}\n >\n {(pointTip || tip) && tipVis && (\n <div\n id=\"TIP\"\n className={classnames('ol-map-custom-tip')}\n style={{ ...positionStyle }}\n >\n {pointTip || tip}\n </div>\n )}\n </div>\n\n {mapLoaded && (\n <Provider\n value={{\n map: mapRef.current,\n showModal: props.showModal,\n onPopupClick: props.onPopupClick,\n dark,\n TextEnum: TextEnum,\n }}\n >\n <Popup map={mapRef.current} ref={popupRef} />\n {children}\n </Provider>\n )}\n </div>\n </ConfigProvider>\n );\n}\n\nexport default Map;\n\nMap.propTypes = {\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n createdMap: PropTypes.func,\n center: PropTypes.array,\n zoom: PropTypes.number,\n minZoom: PropTypes.number,\n maxZoom: PropTypes.number,\n dark: PropTypes.bool,\n mapStyle: PropTypes.oneOfType(['vec', 'img']),\n tk: PropTypes.string.isRequired,\n style: PropTypes.object,\n baseMapStyle: PropTypes.object,\n encrypt: PropTypes.bool,\n mapDomStyle: PropTypes.object,\n popupZIndex: PropTypes.number,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_antd","_zh_CN","_interopRequireDefault","_propTypes","_ol","_layer","_source","_control","_util","_classnames","_getDefaultMapInfo","_Popup","_getBaseLayers","_TdtImageryProvider","_HighLayer","_Search","_events","_layer2","_createFeatureCollection","_FeatureLayer","_ImageLayer","_ImageTileLayer","_ahooks","_provider","_Layers","_Analysis","_WmsLayer","_search","_lodash","_defaultTextEnum","_excluded","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Symbol","iterator","constructor","prototype","_regenerator","toStringTag","c","Generator","u","create","_regeneratorDefine2","p","y","G","v","a","d","bind","length","l","TypeError","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","displayName","w","m","_regeneratorDefine","_invoke","enumerable","configurable","writable","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","name","test","next","push","ownKeys","keys","filter","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","toPrimitive","String","Number","Map","props","_props$width","width","_props$height","height","children","center","dark","style","mapDomStyle","zoom","createdMap","mapStyle","baseMapStyle","tk","onCloseTemplateBefore","onZoom","customBaseLayers","positionStyle","_props$autoView","autoView","_props$closePopupAuto","closePopupAutoView","hidePopupTable","fitViewMaxZoom","encrypt","popupZIndex","customEnumText","projection","TextEnum","defaultTextEnum","_useState","useState","_useState2","mapLoaded","setMapLoaded","_useState3","_useState4","setModal","_useState5","_useState6","tipVis","setTipVis","_useState7","_useState8","tip","setTip","_useState9","_useState0","pointTip","setPointTip","mapRef","useRef","timerRef","mapDomRef","highLayerRef","popupRef","timeRef","baseLayerRef","useEffect","initMap","window","removeEventListener","handleResize","current","destroy","setInterval","layers","getLayers","getArray","map","autoRefresh","key","refresh","clearInterval","useUpdateEffect","setMapStyle","_ref","_callee3","_baseLayerRef$current","defaultMapInfo","minZoom","maxZoom","defaultZoomLevel","longitude","latitude","otherDefaultMapInfo","viewDefault","baseLayerParams","_baseLayerRef$current2","view","registerMapEvent","registerEvent","hoverFeature","_context3","_registerEvent","eventTarget","feature","event","_feature$eventTarget","properties","getProperties","layer","getLayerByFeature","_registerMapEvent","getDefaultMapInfo","OlMap","target","controls","defaultControls","extend","pixelRatio","View","constrainResolution","smoothResolutionConstraint","setPopupZIndex","zIndex","_popupRef$current","_popupRef$current$set","setZIndex","getBaseLayers","baseLayer","cloneDeep","item","addLayer","Layers","analysis","Analysis","_mapStyle","_map$getLayerByKey","_map$getLayerByKey2","_TdtImageryProvider$g","TdtImageryProvider","getSource","_TdtImageryProvider$g2","tileLayerSource","markLayerSource","getLayerByKey","setSource","getView","HighLayer","highlightLayer","changeBaseLayer","_baseLayerRef$current3","_baseLayerRef$current4","removeLayer","_dark","setHighlightFeature","options","addHighlightFeature","clearHighlightFeature","clearFeatures","getAllLayers","find","getWmsVisibleLayers","allLayers","includes","Image","ImageTileLayer","ImageLayer","WmsLayer","getWfsVisibleLayers","VectorLayer","getVisibleLayersByKeys","_feature$values_","_feature$values_2","source","hasFeature","layerKey","values_","getMapFeatureInfoByText","text","poiSearch","params","undefined","getLayerHasViewOnlyByFeature","viewOnly","showTip","content","hideTip","showPointTip","hidePointTip","showModal","hideModal","showTemplateByFilter","_ref2","_callee","field","obj","_context","show","getFeatureByFieldValue","features","showTemplate","_x","_x2","_x3","_x4","_popupRef$current2","_popupRef$current2$sh","hideTemplate","_popupRef$current3","_popupRef$current3$hi","setLastView","_popupRef$current4","_popupRef$current4$se","setLabelVisible","visible","FeatureLayer","label","setClusterVisible","cluster","setPointVisible","point","getViewOptions","_view$getCenter","getCenter","_view$getCenter2","x","getZoom","fitView","_e$values_","extent","getExtent","VectorSource","geometryInfo","_e$","vectorSource","createGeoJson","addFeatures","Feature","geometry","noFitView","currentZoom","fit","padding","duration","animate","fitViewByOptions","on","analysisActive","toolboxActive","drawActive","getFeaturesAtPixel","pixel","cursor","labelField","tipTemplate","registerEventLayer","uid","getUid","hoverUid","_ref3","_callee2","_features2","_features","_context2","_clickObject","isHighLight","template","getWMSFeatureInfoByLayers","_x5","clearTimeout","setTimeout","addEventListener","updateSize","onMouseMove","dom","document","getElementById","left","nativeEvent","offsetX","top","offsetY","rightBound","getViewport","clientWidth","getBoundingClientRect","topBound","clientHeight","concat","createElement","ConfigProvider","locale","zhCN","background","className","classnames","ref","onMouseOver","onMouseOut","id","onPopupClick","_default","exports","propTypes","PropTypes","oneOfType","string","number","func","array","bool","isRequired","object"],"sources":["map/index.jsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { ConfigProvider } from 'antd';\nimport zhCN from 'antd/es/locale/zh_CN';\nimport PropTypes from 'prop-types';\nimport { Map as OlMap, View, Feature } from 'ol';\nimport { Vector as VectorLayer, Image } from 'ol/layer';\nimport { Vector as VectorSource } from 'ol/source';\nimport { defaults as defaultControls } from 'ol/control';\nimport { getUid } from 'ol/util';\nimport classnames from 'classnames';\nimport getDefaultMapInfo from '../_util/getDefaultMapInfo';\nimport Popup from './Popup';\nimport getBaseLayers from './getBaseLayers';\nimport TdtImageryProvider from './getBaseLayers/imagery/tdt/TdtImageryProvider';\nimport HighLayer from '../tools/Utils/HighLayer';\nimport { getMapFeatureInfoByText } from '../tools/Search';\nimport { registerEventLayer } from '../events';\nimport { getWMSFeatureInfoByLayers } from '../_util/layer';\nimport { createGeoJson } from '../feature-layer/createFeatureCollection';\nimport FeatureLayer from '../feature-layer/FeatureLayer';\nimport ImageLayer from '../image-layer/ImageLayer';\nimport ImageTileLayer from '../image-layer/ImageTileLayer';\nimport { useUpdateEffect } from 'ahooks';\nimport Provider from '../provider';\nimport Layers from './Layers';\n\nimport Analysis from './Analysis';\nimport WmsLayer from '../wms-layer/WmsLayer';\nimport 'ol/ol.css';\nimport './style';\nimport { poiSearch } from '../_util/search';\nimport { cloneDeep } from 'lodash';\nimport defaultTextEnum from './defaultTextEnum.js';\n\n\nfunction Map(props) {\n const {\n width = '100%',\n height = '100%',\n children,\n center,\n dark,\n style,\n mapDomStyle,\n zoom,\n createdMap,\n mapStyle,\n // bmap 百度地图 amap 高德地图 tmap 天地图\n baseMapStyle,\n tk,\n onCloseTemplateBefore,\n onZoom,\n customBaseLayers,\n positionStyle,\n autoView = true,\n closePopupAutoView = true,\n hidePopupTable,\n fitViewMaxZoom,\n encrypt,\n popupZIndex,\n customEnumText,\n projection\n } = props;\n const TextEnum = {\n ...defaultTextEnum,\n ...customEnumText,\n };\n\n\n\n\n const [mapLoaded, setMapLoaded] = useState(false);\n // 视野高度\n const [, setModal] = useState(null);\n const [tipVis, setTipVis] = useState(false);\n const [tip, setTip] = useState(null);\n const [pointTip, setPointTip] = useState(null);\n const mapRef = useRef(null);\n const timerRef = useRef(null);\n const mapDomRef = useRef(null);\n const highLayerRef = useRef();\n const popupRef = useRef();\n const timeRef = useRef(null);\n\n const baseLayerRef = useRef([]);\n\n useEffect(() => {\n initMap();\n return () => {\n window.removeEventListener('resize', handleResize);\n highLayerRef.current && highLayerRef.current.destroy();\n };\n }, []);\n\n useEffect(() => {\n if (mapRef.current) {\n timerRef.current = setInterval(() => {\n const layers = mapRef.current.getLayers().getArray() || [];\n layers.map(v => {\n if (v.autoRefresh && v.key && v.get('visible') && v.refresh) {\n v.refresh();\n }\n });\n }, 10000);\n }\n return () => {\n if (timerRef.current) {\n clearInterval(timerRef.current);\n }\n };\n }, []);\n\n useUpdateEffect(() => {\n mapRef.current.setMapStyle(mapStyle);\n }, [mapStyle]);\n\n const initMap = async () => {\n const defaultMapInfo = getDefaultMapInfo();\n const {\n minZoom,\n maxZoom,\n defaultZoomLevel,\n longitude,\n latitude,\n ...otherDefaultMapInfo\n } = defaultMapInfo;\n\n // 全屏\n let viewDefault = {\n center: center ||\n (longitude && latitude && [longitude, latitude]) || [116.397228, 30.9096],\n zoom: zoom || (defaultZoomLevel && Number(defaultZoomLevel)) || 4,\n minZoom: (minZoom && Number(minZoom)) || props.minZoom || 4,\n maxZoom: (maxZoom && Number(maxZoom)) || props.maxZoom,\n projection: projection || 'EPSG:4326'\n };\n let map = new OlMap({\n target: mapDomRef.current,\n controls: defaultControls({ zoom: false }).extend([]),\n // layers: [...getBaseLayers({ mapStyle, dark, tk, baseMapStyle })],\n pixelRatio: 1,\n view: new View({\n ...viewDefault,\n constrainResolution: true,\n }),\n // 设置缩放级别为整数\n constrainResolution: true,\n // 关闭无级缩放地图\n smoothResolutionConstraint: false,\n });\n\n\n // 统一加密啊配置\n map.encrypt = encrypt;\n\n // 气泡层级\n map.popupZIndex = popupZIndex;\n\n // 设置气泡层级\n map.setPopupZIndex = (zIndex) => {\n map.popupZIndex = zIndex;\n popupRef.current?.setZIndex?.(zIndex);\n }\n\n const baseLayerParams = {\n ...otherDefaultMapInfo,\n mapStyle: mapStyle || defaultMapInfo.mapStyle || 'vec',\n baseMapStyle: baseMapStyle || defaultMapInfo.baseMapStyle || 'TdtImageryProvider',\n dark: dark || defaultMapInfo.dark,\n tk: tk || defaultMapInfo.tk,\n };\n\n if (customBaseLayers) {\n baseLayerRef.current = [...customBaseLayers(baseLayerParams)];\n } else {\n baseLayerRef.current = [...getBaseLayers(baseLayerParams)];\n }\n\n // 用于鹰眼图层\n map.baseLayer = cloneDeep(baseLayerRef.current);\n\n map.baseLayerParams = baseLayerParams;\n\n if (baseLayerRef.current?.length) {\n baseLayerRef.current?.map(item => {\n map.addLayer(item);\n });\n }\n\n map.tk = tk;\n\n // 隐藏表格弹出框\n map.hidePopupTable = hidePopupTable;\n\n // 自动调整视角\n map.autoView = autoView;\n\n // 关闭气泡自动调整视角\n map.closePopupAutoView = closePopupAutoView;\n\n // 图层管理\n map.layers = new Layers({ map });\n\n // 分析管理\n map.analysis = new Analysis({ map });\n\n mapRef.current = map;\n\n // 地图视角默认配置\n map.viewDefault = viewDefault;\n\n // 设置地图底图样式\n map.setMapStyle = _mapStyle => {\n let [tileLayerSource, markLayerSource] = TdtImageryProvider.getSource({\n mapStyle: _mapStyle,\n tk,\n });\n\n map.getLayerByKey('__TDT_TILE')?.setSource(tileLayerSource);\n map.getLayerByKey('__TDT_MARK')?.setSource(markLayerSource);\n };\n const view = map.getView();\n\n // 高亮效果\n highLayerRef.current = new HighLayer({\n map,\n TextEnum\n\n });\n map.highlightLayer = highLayerRef.current;\n\n // 切换底图\n map.changeBaseLayer = baseMapStyle => {\n baseLayerRef.current?.map(item => {\n map.removeLayer(item);\n });\n\n let _dark = baseMapStyle.style === 'img' ? false : dark;\n baseLayerRef.current = [...getBaseLayers({ mapStyle, dark: _dark, tk, baseMapStyle })];\n baseLayerRef.current?.map(item => {\n map.addLayer(item);\n });\n map.baseLayer = cloneDeep(baseLayerRef.current);\n\n return map.baseLayer;\n };\n\n // 获取基础图层\n map.getBaseLayers = getBaseLayers;\n\n // 设置高亮\n map.setHighlightFeature = (feature, options) => {\n map.highlightLayer.addHighlightFeature(feature, options);\n };\n\n // 清除高亮\n map.clearHighlightFeature = () => {\n map.highlightLayer.clearFeatures();\n };\n\n // 根 key 查找图层\n map.getLayerByKey = key => {\n return map.getAllLayers().find(layer => {\n if (layer.key === key) {\n return layer;\n }\n });\n };\n\n // 查找展示的绑定key的wms图层\n map.getWmsVisibleLayers = keys => {\n let layers = [];\n let allLayers = map.getAllLayers();\n if (Array.isArray(keys) && keys?.length) {\n allLayers = allLayers.filter(item => keys.includes(item.key));\n }\n allLayers.map(layer => {\n if (\n layer.key &&\n (layer instanceof Image ||\n layer instanceof ImageTileLayer ||\n layer instanceof ImageLayer ||\n layer instanceof WmsLayer) &&\n layer.get('visible')\n ) {\n layers.push(layer);\n }\n });\n return layers;\n };\n\n // 查找展示的绑定key的wfs图层\n map.getWfsVisibleLayers = keys => {\n let layers = [];\n let allLayers = map.getAllLayers();\n if (Array.isArray(keys) && keys?.length) {\n allLayers = allLayers.filter(item => keys.includes(item.key));\n }\n allLayers.map(layer => {\n if (layer.key && layer instanceof VectorLayer && layer.get('visible')) {\n layers.push(layer);\n }\n });\n return layers;\n };\n\n // 根据key查找展示的图层,不传keys查所有展示的除底图的带key的图层\n map.getVisibleLayersByKeys = keys => {\n let layers = map.getAllLayers() || [];\n return layers.filter(layer => {\n if (typeof keys === 'string') {\n return layer.key === keys && layer.get('visible');\n } else if (Array.isArray(keys)) {\n return keys.includes(layer.key) && layer.get('visible');\n } else if (layer.key !== 'Highlight') {\n return layer.get('visible') && layer.key;\n }\n });\n };\n\n // 通过图形查询所属图层\n map.getLayerByFeature = feature => {\n return map.getAllLayers().find(layer => {\n if (layer.key) {\n if (feature?.key && feature.key === layer.key) {\n return layer;\n } else if (layer instanceof VectorLayer && layer.key !== 'Highlight') {\n const source = layer.getSource();\n if (source.source && source.source.hasFeature(feature)) {\n return layer;\n } else if (source.hasFeature(feature)) {\n return layer;\n }\n } else if (feature?.layerKey && feature?.layerKey === layer.key) {\n return layer;\n } else if (feature?.values_?.key && layer.key === feature?.values_?.key) {\n return layer;\n }\n }\n });\n };\n\n // 根据关键字获取图形信息\n map.getMapFeatureInfoByText = text => {\n return getMapFeatureInfoByText(map, text);\n };\n\n // poi查询\n map.poiSearch = (params = {}) => {\n return poiSearch(params);\n };\n\n // 获取图层是否允许点击\n map.getLayerHasViewOnlyByFeature = feature => {\n let layer = map.getLayerByFeature(feature);\n return layer?.viewOnly;\n };\n\n // 展示提示\n map.showTip = content => {\n setTip(content);\n };\n\n // 隐藏提示\n map.hideTip = () => {\n setTip(null);\n };\n\n map.showPointTip = content => {\n setPointTip(content);\n };\n\n // 隐藏提示\n map.hidePointTip = () => {\n setPointTip(null);\n };\n\n // 展示弹窗\n map.showModal = params => {\n setModal(params);\n };\n\n // 隐藏弹窗\n map.hideModal = () => {\n setModal(null);\n };\n\n // 根据图层条件设置图层选中\n map.showTemplateByFilter = async (key, field, value, options) => {\n let layer = map.getLayerByKey(key);\n if (layer?.show) {\n let obj = layer.getFeatureByFieldValue(field, value);\n if (obj?.then) {\n obj.then(features => {\n if (features?.length) {\n let feature = features[0];\n map.showTemplate(feature.feature || feature, options);\n }\n });\n } else {\n if (obj) {\n map.showTemplate(obj, options);\n }\n }\n }\n };\n\n // 展示看板\n map.showTemplate = (feature, options) => {\n popupRef.current?.showTemplate?.(feature, options);\n };\n\n // 隐藏看板\n map.hideTemplate = () => {\n popupRef.current?.hideTemplate?.();\n };\n\n map.setLastView = () => {\n popupRef.current?.setLastView?.();\n };\n\n // 下标显隐\n map.setLabelVisible = visible => {\n map.getAllLayers().find(layer => {\n if (layer instanceof FeatureLayer) {\n layer.label = visible;\n }\n });\n };\n\n // 聚合显隐\n map.setClusterVisible = visible => {\n map.getAllLayers().find(layer => {\n if (layer instanceof FeatureLayer) {\n layer.cluster = visible;\n }\n });\n };\n\n // 海量点显隐\n map.setPointVisible = visible => {\n map.getAllLayers().find(layer => {\n if (layer instanceof FeatureLayer) {\n layer.point = visible;\n }\n });\n };\n\n // 通过返回值控制是否执行关闭\n map.onCloseTemplateBefore = feature => {\n if (onCloseTemplateBefore) {\n return onCloseTemplateBefore(feature);\n }\n };\n\n map.getViewOptions = () => {\n const view = map.getView();\n\n const [x, y] = view.getCenter();\n\n return {\n zoom: view.getZoom(),\n x,\n y,\n };\n };\n\n // 自适应\n map.fitView = (e, options) => {\n if (e) {\n let extent;\n\n if (e instanceof VectorLayer) {\n // 针对图层处理\n extent = e.getSource().getExtent();\n } else if (e instanceof VectorSource) {\n // 针对图层源处理\n extent = e.getExtent();\n } else if (Array.isArray(e) || e.geometryInfo) {\n // 针对数据处理\n let vectorSource = new VectorSource();\n\n if (e.geometryInfo || e?.[0]?.geometryInfo) {\n // 针对数据处理\n let f = createGeoJson(e);\n vectorSource.addFeatures(f);\n } else if (e instanceof Feature || e?.[0] instanceof Feature) {\n // 针对图形处理\n vectorSource.addFeatures(e);\n }\n\n extent = vectorSource.getExtent();\n } else if (e?.values_?.geometry) {\n // 针对单个图形\n extent = e.values_.geometry.getExtent();\n }\n\n if (extent) {\n if (e?.noFitView) {\n return;\n }\n\n let currentZoom = map.getView().getZoom();\n const maxZoom = fitViewMaxZoom || 16;\n map.getView().fit(extent, {\n padding: [100, 400, 100, 400],\n maxZoom: currentZoom > maxZoom ? currentZoom : maxZoom,\n duration: 500,\n ...options,\n });\n } else {\n map.getView().animate({ ...map.viewDefault, duration: 500, ...options });\n }\n } else {\n map.getView().animate({ ...map.viewDefault, duration: 500, ...options });\n }\n };\n\n map.fitViewByOptions = options => {\n const { x, y, zoom } = options;\n if (x && y) {\n const view = map.getView();\n view.animate({ zoom: zoom || view.getZoom(), center: [Number(x), Number(y)] });\n }\n };\n\n // 鼠标移入展示名称\n map.on('pointermove', event => {\n if (!(map.analysisActive || map.toolboxActive || map.drawActive)) {\n const feature = map.getFeaturesAtPixel(event.pixel)[0];\n if (feature) {\n let layer = map.getLayerByFeature(feature);\n\n mapDomRef.current.style.cursor = 'pointer'; // 设置手形光标\n\n if (layer && (layer.labelField || layer.tipTemplate)) {\n const { labelField, tipTemplate } = layer;\n let label;\n if (tipTemplate) {\n label = tipTemplate(feature.values_);\n } else {\n label = feature.values_[labelField];\n }\n\n if (label) {\n map.showPointTip(label);\n } else {\n map.hidePointTip();\n }\n } else {\n map.hidePointTip();\n }\n } else {\n map.hidePointTip();\n\n mapDomRef.current.style.cursor = 'default'; // 恢复默认光标\n }\n }\n });\n\n // 注册事件\n registerEventLayer(map, props);\n\n function registerMapEvent(eventTarget, e) {\n if (map[eventTarget]) {\n map[eventTarget](e);\n }\n }\n\n function registerEvent(eventTarget, feature, event) {\n if (feature) {\n let properties = feature.getProperties();\n\n // 触发自身事件\n feature[eventTarget]?.(properties, event);\n\n let layer = map.getLayerByFeature(feature);\n\n if (layer?.[eventTarget]) {\n layer[eventTarget](properties, event);\n }\n }\n }\n\n // 鼠标事件,点击属性传递\n let hoverFeature;\n map.on('pointermove', event => {\n registerMapEvent('onMouseMove', event);\n\n const feature = map.getFeaturesAtPixel(event.pixel)[0];\n\n if (feature) {\n registerEvent('onMouseMove', feature, event);\n\n // 判断是否在图形内移动\n if (hoverFeature) {\n let uid = getUid(feature);\n let hoverUid = getUid(hoverFeature);\n\n // 判断是否进入新的图形\n if (uid !== hoverUid) {\n registerEvent('onMouseLeave', hoverFeature, event);\n\n registerEvent('onMouseEnter', feature, event);\n hoverFeature = feature;\n }\n } else {\n registerEvent('onMouseEnter', feature, event);\n hoverFeature = feature;\n }\n\n registerEvent('onMouseMove', feature, event);\n } else {\n if (hoverFeature) {\n registerEvent('onMouseLeave', hoverFeature, event);\n }\n\n hoverFeature = null;\n }\n });\n\n // 点击事件,通过属性传递\n map.on('click', async event => {\n registerMapEvent('onClick', event);\n map.hideTip();\n map.hidePointTip();\n map._clickObject = event;\n let features = map.getFeaturesAtPixel(event.pixel) || [];\n\n if (!(map.analysisActive || map.toolboxActive)) {\n // 如果点击了高亮的元素直接结束,不再往下查询\n if (features?.[0]?.isHighLight) {\n return registerEvent('onClick', features[0], event);\n }\n\n if (features.length) {\n registerEvent('onClick', features[0], event);\n }\n\n // 过滤掉仅展示的图层和没有设置气泡的图层\n features = features.filter(feature => {\n let layer = map.getLayerByFeature(feature);\n return layer && !layer.viewOnly && layer.template;\n });\n\n if (!features.length) {\n let layers = map.getWmsVisibleLayers().filter(layer => !layer.viewOnly);\n let _features = await getWMSFeatureInfoByLayers(event, map, layers);\n if (_features?.length) {\n features = [_features[0]];\n\n registerEvent('onClick', features[0], event);\n }\n }\n\n if (features.length) {\n map.showTemplate(features);\n } else {\n map.hideTemplate();\n }\n } else if (features.length) {\n registerEvent('onClick', features[0], event);\n }\n });\n\n // 双击事件,通过属性传递\n map.on('dblclick', event => {\n registerMapEvent('onDoubleClick', event);\n\n const feature = map.getFeaturesAtPixel(event.pixel)[0];\n\n registerEvent('onDoubleClick', feature, event);\n });\n\n // 层级事件\n map.onZoom = zoom => {\n onZoom && onZoom(zoom);\n };\n\n //监测地图zoom改变\n map.getView().on('change:resolution', function () {\n if (timeRef.current) {\n clearTimeout(timeRef.current);\n }\n\n timeRef.current = setTimeout(() => {\n let zoom = map.getView().getZoom();\n map.onZoom(zoom);\n }, 50);\n });\n\n createdMap && createdMap(map);\n\n setMapLoaded(true);\n\n window.addEventListener('resize', handleResize);\n };\n\n const handleResize = () => {\n if (timeRef.current) {\n clearTimeout(timeRef.current);\n }\n\n timeRef.current = setTimeout(() => {\n mapRef.current && mapRef.current.updateSize();\n }, 50);\n };\n\n const onMouseMove = event => {\n if (pointTip || tip) {\n let dom = document.getElementById('TIP');\n\n let left = event.nativeEvent.offsetX + 15;\n let top = event.nativeEvent.offsetY + 15;\n\n // 适配 右边和 上面的情况\n\n if (dom) {\n const rightBound =\n mapRef.current.getViewport().clientWidth - dom.getBoundingClientRect().width - 15;\n const topBound =\n mapRef.current.getViewport().clientHeight - dom.getBoundingClientRect().height - 15;\n\n left = left > rightBound ? rightBound : left;\n top = top > topBound ? topBound : top;\n\n dom.style.left = `${left}px`;\n dom.style.top = `${top}px`;\n }\n }\n };\n\n return (\n <ConfigProvider locale={zhCN}>\n <div\n style={{ width, height, background: dark ? '#152937' : '#cccccc', ...style }}\n className={classnames('ol-map-container', { 'ol-map-container-dark': dark })}\n >\n <div\n ref={mapDomRef}\n className={classnames('ol-map-content')}\n style={{ ...mapDomStyle }}\n onMouseMove={onMouseMove}\n onMouseOver={() => setTipVis(true)}\n onMouseOut={() => setTipVis(false)}\n >\n {(pointTip || tip) && tipVis && (\n <div\n id=\"TIP\"\n className={classnames('ol-map-custom-tip')}\n style={{ ...positionStyle }}\n >\n {pointTip || tip}\n </div>\n )}\n </div>\n\n {mapLoaded && (\n <Provider\n value={{\n map: mapRef.current,\n showModal: props.showModal,\n onPopupClick: props.onPopupClick,\n dark,\n TextEnum: TextEnum,\n }}\n >\n <Popup map={mapRef.current} ref={popupRef} />\n {children}\n </Provider>\n )}\n </div>\n </ConfigProvider>\n );\n}\n\nexport default Map;\n\nMap.propTypes = {\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n createdMap: PropTypes.func,\n center: PropTypes.array,\n zoom: PropTypes.number,\n minZoom: PropTypes.number,\n maxZoom: PropTypes.number,\n dark: PropTypes.bool,\n mapStyle: PropTypes.oneOfType(['vec', 'img']),\n tk: PropTypes.string.isRequired,\n style: PropTypes.object,\n baseMapStyle: PropTypes.object,\n encrypt: PropTypes.bool,\n mapDomStyle: PropTypes.object,\n popupZIndex: PropTypes.number,\n projection: PropTypes.string\n};\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vtx/ol-map",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.166",
|
|
4
4
|
"description": "React components for Vortex",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -107,6 +107,7 @@
|
|
|
107
107
|
"merge2": "^1.3.0",
|
|
108
108
|
"prettier": "^1.18.2",
|
|
109
109
|
"pretty-quick": "^2.0.0",
|
|
110
|
+
"proj4": "2.9.0",
|
|
110
111
|
"release-it": "^14.6.1",
|
|
111
112
|
"rimraf": "^3.0.0",
|
|
112
113
|
"stylelint": "11.0.0",
|
|
@@ -117,4 +118,4 @@
|
|
|
117
118
|
"stylelint-order": "^3.0.0",
|
|
118
119
|
"through2": "^3.0.1"
|
|
119
120
|
}
|
|
120
|
-
}
|
|
121
|
+
}
|