@vtx/ol-map 1.0.118 → 1.0.120
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/_util/EventEmitter.js +10 -9
- package/lib/_util/EventEmitter.js.map +1 -1
- package/lib/_util/StyleCache.js +7 -6
- package/lib/_util/StyleCache.js.map +1 -1
- package/lib/_util/encryptParams.js +1 -1
- package/lib/_util/encryptParams.js.map +1 -1
- package/lib/_util/filterSpecialCharacters.js +6 -6
- package/lib/_util/filterSpecialCharacters.js.map +1 -1
- package/lib/_util/getComponentProps.js.map +1 -1
- package/lib/_util/getCookie.js.map +1 -1
- package/lib/_util/getDefaultMapInfo.js +3 -3
- package/lib/_util/getDefaultMapInfo.js.map +1 -1
- package/lib/_util/getSystemInfo.js +3 -3
- package/lib/_util/getSystemInfo.js.map +1 -1
- package/lib/_util/getToken.js.map +1 -1
- package/lib/_util/getUrlParam.js +1 -1
- package/lib/_util/getUrlParam.js.map +1 -1
- package/lib/_util/http.js +9 -8
- package/lib/_util/http.js.map +1 -1
- package/lib/_util/isFunction.js.map +1 -1
- package/lib/_util/isObject.js.map +1 -1
- package/lib/_util/layer.js +4 -4
- package/lib/_util/layer.js.map +1 -1
- package/lib/_util/mapTool.js.map +1 -1
- package/lib/_util/projzh/datum/bd-09.js +1 -1
- package/lib/_util/projzh/datum/bd-09.js.map +1 -1
- package/lib/_util/projzh/datum/gcj-02.js.map +1 -1
- package/lib/_util/projzh/datum/index.js +1 -1
- package/lib/_util/projzh/datum/index.js.map +1 -1
- package/lib/_util/projzh/index.js +1 -1
- package/lib/_util/projzh/index.js.map +1 -1
- package/lib/_util/projzh/projection/baidu-mercator.js.map +1 -1
- package/lib/_util/projzh/projection/index.js +1 -1
- package/lib/_util/projzh/projection/index.js.map +1 -1
- package/lib/_util/projzh/projection/spherical-mercator.js.map +1 -1
- package/lib/_util/projzh/util.js.map +1 -1
- package/lib/_util/search.js +7 -6
- package/lib/_util/search.js.map +1 -1
- package/lib/_util/setCookie.js.map +1 -1
- package/lib/_util/stringToFun.js +4 -4
- package/lib/_util/stringToFun.js.map +1 -1
- package/lib/_util/transform.js +5 -5
- package/lib/_util/transform.js.map +1 -1
- package/lib/_util/useColSize.js +1 -1
- package/lib/_util/useColSize.js.map +1 -1
- package/lib/_util/useInterval.js.map +1 -1
- package/lib/_util/useSet.js +7 -7
- package/lib/_util/useSet.js.map +1 -1
- package/lib/analysis-layer/index.js +14 -13
- package/lib/analysis-layer/index.js.map +1 -1
- package/lib/analysis-layer/style/css.js.map +1 -1
- package/lib/analysis-layer/style/index.js.map +1 -1
- package/lib/assets/kz.png +0 -0
- package/lib/buffer-draw/BufferDraw.js +43 -29
- package/lib/buffer-draw/BufferDraw.js.map +1 -1
- package/lib/buffer-draw/index.js +2 -2
- package/lib/buffer-draw/index.js.map +1 -1
- package/lib/buffer-draw/style/css.js.map +1 -1
- package/lib/buffer-draw/style/index.js.map +1 -1
- package/lib/circle/Circle.js +19 -18
- package/lib/circle/Circle.js.map +1 -1
- package/lib/circle/index.js +2 -2
- package/lib/circle/index.js.map +1 -1
- package/lib/circle/style/css.js.map +1 -1
- package/lib/circle/style/index.js.map +1 -1
- package/lib/config.js.map +1 -1
- package/lib/convertCamelToCSS.js.map +1 -1
- package/lib/dom/Dom.js +15 -14
- package/lib/dom/Dom.js.map +1 -1
- package/lib/dom/index.js +7 -7
- package/lib/dom/index.js.map +1 -1
- package/lib/dom/style/css.js.map +1 -1
- package/lib/dom/style/index.js.map +1 -1
- package/lib/events/index.js.map +1 -1
- package/lib/feature-draw/FeatureDraw.js +35 -31
- package/lib/feature-draw/FeatureDraw.js.map +1 -1
- package/lib/feature-draw/index.js +4 -4
- package/lib/feature-draw/index.js.map +1 -1
- package/lib/feature-draw/style/css.js.map +1 -1
- package/lib/feature-draw/style/index.js.map +1 -1
- package/lib/feature-layer/FeatureLayer.js +36 -36
- package/lib/feature-layer/FeatureLayer.js.map +1 -1
- package/lib/feature-layer/MyCluster.js +18 -16
- package/lib/feature-layer/MyCluster.js.map +1 -1
- package/lib/feature-layer/createFeatureCollection.js +22 -22
- package/lib/feature-layer/createFeatureCollection.js.map +1 -1
- package/lib/feature-layer/index.js +11 -11
- package/lib/feature-layer/index.js.map +1 -1
- package/lib/feature-layer/style/css.js.map +1 -1
- package/lib/feature-layer/style/index.js.map +1 -1
- package/lib/flow-line-layer/FlowLineLayer.js +20 -18
- package/lib/flow-line-layer/FlowLineLayer.js.map +1 -1
- package/lib/flow-line-layer/index.js +11 -11
- package/lib/flow-line-layer/index.js.map +1 -1
- package/lib/flow-line-layer/style/css.js.map +1 -1
- package/lib/flow-line-layer/style/index.js.map +1 -1
- package/lib/fly-line-layer/FlyLineLayer.js +13 -13
- package/lib/fly-line-layer/FlyLineLayer.js.map +1 -1
- package/lib/fly-line-layer/index.js +6 -6
- package/lib/fly-line-layer/index.js.map +1 -1
- package/lib/fly-line-layer/style/css.js.map +1 -1
- package/lib/fly-line-layer/style/index.js.map +1 -1
- package/lib/group-layer/GroupLayer.js +9 -8
- package/lib/group-layer/GroupLayer.js.map +1 -1
- package/lib/group-layer/index.js +6 -6
- package/lib/group-layer/index.js.map +1 -1
- package/lib/group-layer/style/css.js.map +1 -1
- package/lib/group-layer/style/index.js.map +1 -1
- package/lib/heatmap-layer/HeatmapLayer.js +25 -25
- package/lib/heatmap-layer/HeatmapLayer.js.map +1 -1
- package/lib/heatmap-layer/index.js +6 -6
- package/lib/heatmap-layer/index.js.map +1 -1
- package/lib/heatmap-layer/style/css.js.map +1 -1
- package/lib/heatmap-layer/style/index.js.map +1 -1
- package/lib/high-layer/HighLayer.js +10 -9
- package/lib/high-layer/HighLayer.js.map +1 -1
- package/lib/high-layer/index.js +7 -7
- package/lib/high-layer/index.js.map +1 -1
- package/lib/high-layer/style/css.js.map +1 -1
- package/lib/high-layer/style/index.js.map +1 -1
- package/lib/image-layer/ImageLayer.js +26 -26
- package/lib/image-layer/ImageLayer.js.map +1 -1
- package/lib/image-layer/index.js +7 -7
- package/lib/image-layer/index.js.map +1 -1
- package/lib/image-layer/style/css.js.map +1 -1
- package/lib/image-layer/style/index.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/legend/index.js +14 -14
- package/lib/legend/index.js.map +1 -1
- package/lib/legend/style/css.js.map +1 -1
- package/lib/legend/style/index.js.map +1 -1
- package/lib/map/Analysis.js +24 -22
- package/lib/map/Analysis.js.map +1 -1
- package/lib/map/Layers.js +24 -21
- package/lib/map/Layers.js.map +1 -1
- package/lib/map/Popup.js +12 -12
- package/lib/map/Popup.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/amap/AmapImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js +1 -1
- package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/geoq/GeoQImageryProvider.js +5 -5
- package/lib/map/getBaseLayers/imagery/geoq/GeoQImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/tdt/TdtImageryProvider.js +4 -4
- package/lib/map/getBaseLayers/imagery/tdt/TdtImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/index.js +4 -4
- package/lib/map/getBaseLayers/index.js.map +1 -1
- package/lib/map/index.js +18 -18
- package/lib/map/index.js.map +1 -1
- package/lib/map/style/css.js.map +1 -1
- package/lib/map/style/index.js.map +1 -1
- package/lib/map-icon/svg/index.js +1 -1
- package/lib/map-icon/svg/index.js.map +1 -1
- package/lib/map-icon/svg/tuceng.svg.js.map +1 -1
- package/lib/marker/Marker.js +17 -16
- package/lib/marker/Marker.js.map +1 -1
- package/lib/marker/index.js +2 -2
- package/lib/marker/index.js.map +1 -1
- package/lib/marker/style/css.js.map +1 -1
- package/lib/marker/style/index.js.map +1 -1
- package/lib/path-line-layer/PathLineLayer.js +18 -17
- package/lib/path-line-layer/PathLineLayer.js.map +1 -1
- package/lib/path-line-layer/getPathLineStyles.js +4 -4
- package/lib/path-line-layer/getPathLineStyles.js.map +1 -1
- package/lib/path-line-layer/index.js +11 -11
- package/lib/path-line-layer/index.js.map +1 -1
- package/lib/path-line-layer/style/css.js.map +1 -1
- package/lib/path-line-layer/style/index.js.map +1 -1
- package/lib/path-play-back/PathPlayBack.js +15 -14
- package/lib/path-play-back/PathPlayBack.js.map +1 -1
- package/lib/path-play-back/index.js +4 -4
- package/lib/path-play-back/index.js.map +1 -1
- package/lib/path-play-back/style/css.js.map +1 -1
- package/lib/path-play-back/style/index.js.map +1 -1
- package/lib/poi-search/Location.js +5 -5
- package/lib/poi-search/Location.js.map +1 -1
- package/lib/poi-search/PoiList.js +7 -7
- package/lib/poi-search/PoiList.js.map +1 -1
- package/lib/poi-search/Search.js +13 -13
- package/lib/poi-search/Search.js.map +1 -1
- package/lib/poi-search/index.js +6 -6
- package/lib/poi-search/index.js.map +1 -1
- package/lib/poi-search/style/css.js.map +1 -1
- package/lib/poi-search/style/index.js.map +1 -1
- package/lib/point/Point.js +19 -18
- package/lib/point/Point.js.map +1 -1
- package/lib/point/index.js +2 -2
- package/lib/point/index.js.map +1 -1
- package/lib/point/style/css.js.map +1 -1
- package/lib/point/style/index.js.map +1 -1
- package/lib/polygon/Polygon.js +19 -18
- package/lib/polygon/Polygon.js.map +1 -1
- package/lib/polygon/index.js +2 -2
- package/lib/polygon/index.js.map +1 -1
- package/lib/polygon/style/css.js.map +1 -1
- package/lib/polygon/style/index.js.map +1 -1
- package/lib/polyline/Polyline.js +19 -18
- package/lib/polyline/Polyline.js.map +1 -1
- package/lib/polyline/index.js +2 -2
- package/lib/polyline/index.js.map +1 -1
- package/lib/polyline/style/css.js.map +1 -1
- package/lib/polyline/style/index.js.map +1 -1
- package/lib/popup/index.js +10 -10
- package/lib/popup/index.js.map +1 -1
- package/lib/popup/style/css.js.map +1 -1
- package/lib/popup/style/index.js.map +1 -1
- package/lib/provider/index.js +1 -1
- package/lib/provider/index.js.map +1 -1
- package/lib/provider/style/css.js.map +1 -1
- package/lib/provider/style/index.js.map +1 -1
- package/lib/renderer/Fill.js +16 -15
- package/lib/renderer/Fill.js.map +1 -1
- package/lib/renderer/Stroke.js +16 -15
- package/lib/renderer/Stroke.js.map +1 -1
- package/lib/renderer/index.js +7 -7
- package/lib/renderer/index.js.map +1 -1
- package/lib/renderer/style/css.js.map +1 -1
- package/lib/renderer/style/index.js.map +1 -1
- package/lib/renderer/transformRgb.js.map +1 -1
- package/lib/search-map/VtxModal.js +20 -18
- package/lib/search-map/VtxModal.js.map +1 -1
- package/lib/search-map/index.js +6 -6
- package/lib/search-map/index.js.map +1 -1
- package/lib/search-map/style/css.js.map +1 -1
- package/lib/search-map/style/index.js.map +1 -1
- package/lib/tile-layer/TileLayer.js +17 -16
- package/lib/tile-layer/TileLayer.js.map +1 -1
- package/lib/tile-layer/index.js +2 -2
- package/lib/tile-layer/index.js.map +1 -1
- package/lib/tile-layer/style/css.js.map +1 -1
- package/lib/tile-layer/style/index.js.map +1 -1
- package/lib/tools/Layer/LayerService.js +4 -4
- package/lib/tools/Layer/LayerService.js.map +1 -1
- package/lib/tools/Layer/LayersCheckService.js +28 -27
- package/lib/tools/Layer/LayersCheckService.js.map +1 -1
- package/lib/tools/Layer/index.js +12 -12
- package/lib/tools/Layer/index.js.map +1 -1
- package/lib/tools/Search/index.js +7 -6
- package/lib/tools/Search/index.js.map +1 -1
- package/lib/tools/Toolbox/BoxSelect/index.js +4 -4
- package/lib/tools/Toolbox/BoxSelect/index.js.map +1 -1
- package/lib/tools/Toolbox/CircleSelect/index.js +4 -4
- package/lib/tools/Toolbox/CircleSelect/index.js.map +1 -1
- package/lib/tools/Toolbox/EagleEye/index.js +6 -6
- package/lib/tools/Toolbox/EagleEye/index.js.map +1 -1
- package/lib/tools/Toolbox/MapBookmark/Bookmark.js +29 -27
- package/lib/tools/Toolbox/MapBookmark/Bookmark.js.map +1 -1
- package/lib/tools/Toolbox/MapBookmark/index.js +11 -11
- package/lib/tools/Toolbox/MapBookmark/index.js.map +1 -1
- package/lib/tools/Toolbox/MapDownload/index.js +2 -2
- package/lib/tools/Toolbox/MapDownload/index.js.map +1 -1
- package/lib/tools/Toolbox/MapPrint/index.js +14 -12
- package/lib/tools/Toolbox/MapPrint/index.js.map +1 -1
- package/lib/tools/Toolbox/Measure/Area/index.js +2 -2
- package/lib/tools/Toolbox/Measure/Area/index.js.map +1 -1
- package/lib/tools/Toolbox/Measure/Distance/index.js +2 -2
- package/lib/tools/Toolbox/Measure/Distance/index.js.map +1 -1
- package/lib/tools/Toolbox/Measure/Measure.js +7 -6
- package/lib/tools/Toolbox/Measure/Measure.js.map +1 -1
- package/lib/tools/Toolbox/Measure/index.js +9 -9
- package/lib/tools/Toolbox/Measure/index.js.map +1 -1
- package/lib/tools/Toolbox/PolygonSelect/index.js +4 -4
- package/lib/tools/Toolbox/PolygonSelect/index.js.map +1 -1
- package/lib/tools/Toolbox/ScaleLine/index.js +6 -6
- package/lib/tools/Toolbox/ScaleLine/index.js.map +1 -1
- package/lib/tools/Toolbox/SelectTools/index.js +18 -17
- package/lib/tools/Toolbox/SelectTools/index.js.map +1 -1
- package/lib/tools/Toolbox/SpaceQuery/index.js +9 -9
- package/lib/tools/Toolbox/SpaceQuery/index.js.map +1 -1
- package/lib/tools/Toolbox/ZoomInput/index.js +6 -6
- package/lib/tools/Toolbox/ZoomInput/index.js.map +1 -1
- package/lib/tools/Toolbox/index.js +2 -2
- package/lib/tools/Toolbox/index.js.map +1 -1
- package/lib/tools/Utils/CreateOverlay.js +8 -8
- package/lib/tools/Utils/CreateOverlay.js.map +1 -1
- package/lib/tools/Utils/Draw.js +8 -7
- package/lib/tools/Utils/Draw.js.map +1 -1
- package/lib/tools/Utils/HighLayer.js +11 -10
- package/lib/tools/Utils/HighLayer.js.map +1 -1
- package/lib/tools/Utils/measure.js +5 -5
- package/lib/tools/Utils/measure.js.map +1 -1
- package/lib/tools/Utils/utils.js +10 -9
- package/lib/tools/Utils/utils.js.map +1 -1
- package/lib/tools/View/index.js +9 -9
- package/lib/tools/View/index.js.map +1 -1
- package/lib/tools/analysis-tool/index.js +12 -12
- package/lib/tools/analysis-tool/index.js.map +1 -1
- package/lib/tools/base-map-switch/index.js +10 -9
- package/lib/tools/base-map-switch/index.js.map +1 -1
- package/lib/tools/components/Chart/index.js +17 -15
- package/lib/tools/components/Chart/index.js.map +1 -1
- package/lib/tools/components/Icon/index.js +1 -1
- package/lib/tools/components/Icon/index.js.map +1 -1
- package/lib/tools/components/Info/index.js +1 -1
- package/lib/tools/components/Info/index.js.map +1 -1
- package/lib/tools/components/ItemWrap/index.js +6 -6
- package/lib/tools/components/ItemWrap/index.js.map +1 -1
- package/lib/tools/components/Modal/index.js +6 -6
- package/lib/tools/components/Modal/index.js.map +1 -1
- package/lib/tools/components/MyTabs/index.js +1 -1
- package/lib/tools/components/MyTabs/index.js.map +1 -1
- package/lib/tools/components/RequiredLabel/index.js +4 -4
- package/lib/tools/components/RequiredLabel/index.js.map +1 -1
- package/lib/tools/components/Select/index.js +1 -1
- package/lib/tools/components/Select/index.js.map +1 -1
- package/lib/tools/components/Table/index.js +15 -15
- package/lib/tools/components/Table/index.js.map +1 -1
- package/lib/tools/components/ToolItem/index.js +1 -1
- package/lib/tools/components/ToolItem/index.js.map +1 -1
- package/lib/tools/components/ToolsSelect/index.js +1 -1
- package/lib/tools/components/ToolsSelect/index.js.map +1 -1
- package/lib/tools/full-screen/index.js +7 -7
- package/lib/tools/full-screen/index.js.map +1 -1
- package/lib/tools/index.js +9 -8
- package/lib/tools/index.js.map +1 -1
- package/lib/tools/layer-control/index.js +16 -16
- package/lib/tools/layer-control/index.js.map +1 -1
- package/lib/tools/refresh/index.js +6 -6
- package/lib/tools/refresh/index.js.map +1 -1
- package/lib/tools/style/css.js.map +1 -1
- package/lib/tools/style/index.js.map +1 -1
- package/lib/tools-item/index.js +6 -6
- package/lib/tools-item/index.js.map +1 -1
- package/lib/use-props/index.js.map +1 -1
- package/lib/use-props/style/css.js.map +1 -1
- package/lib/use-props/style/index.js.map +1 -1
- package/package.json +119 -119
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureLayer.js","names":["_layer","require","_ol","_source","_renderer","_interopRequireDefault","_style5","_isFunction","_createFeatureCollection","_isObject","_encryptParams","_stringToFun","_convertCamelToCSS","_MyCluster","_excluded","_excluded2","_excluded3","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","s","includes","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","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","setVisible","val","setStyle","getStyleByMode","setClusterMode","setShow","_this3","_ref2","isObject","setClusterSource","destroy","oldZoom","getView","getZoom","moveEnd","on","zoom","_this3$_options$clust","zoomThreshold","_this4","resolution","_this4$group","_this4$_options","otherStyle","_v$filter","styles","isFunction","_styles","renderer","Marker","getMarkerOptions","Style","_style","type","getSimpleStyle","Simple","_style3","mode","render","_feature$get2","getMultipleStyle","UniqueValue","_feature$get3","ClassBreaks","Circle","radius","stroke","_render","_render$style","_render$style2","icon","_render$render","_this5","_feature$get4","_this$_options","isFun","_data","_data2","_data3","_data4","_data5","_data6","P","marker","marker_cluster","hideFooter","info","fontSize","commonStyle","point_cluster","_Object$keys","_data7","customText","getLabelStyle","getClusterTextStyle","_this$_features","_this6","_this","_cluster","minDistance","clusterSource","Cluster","clusterChange","setAlarmBgByFeatures","createCluster","_group","Feature","geometry","layerKey","_group2","_v$filter2","markerStyle","_style4","_markerStyle2","_cluster2","clusterStyle","_markerStyle","numberStyle","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","_this10","undefined","encryptParams","loadFeatures","getFeaturesByFieldValueOpera","_ref3","_this11","_ref3$operation","operation","Promise","resolve","reject","result","fun","Function","concat","err","_v$values_$field","indexOf","_v$values_$field2","_v$values_$field3","getMap","setGroup","_this$_features2","_v$filter3","setVisibleByGroup","visible","layers","onChange","clearMoveEnd","un","Vector","_default","exports"],"sources":["feature-layer/FeatureLayer.js"],"sourcesContent":["import { Vector } from 'ol/layer';\r\nimport { Feature, Overlay } from 'ol';\r\nimport { Vector as VectorSource } from 'ol/source';\r\nimport renderer from '../renderer';\r\nimport { Fill, Style, Text, Stroke, Circle } from 'ol/style';\r\nimport isFunction from '../_util/isFunction';\r\nimport { getDataByHttpByParams, createGeoJson } from './createFeatureCollection';\r\nimport isObject from '../_util/isObject';\r\nimport encryptParams from '../_util/encryptParams';\r\nimport stringToFun from '../_util/stringToFun';\r\nimport convertCamelToCSS from '../convertCamelToCSS';\r\nimport Cluster from './MyCluster';\r\n\r\nconst addOverlay = (feature, map, alarmBg) => {\r\n if (alarmBg) {\r\n let itemVal = alarmBg.find(v => v.filter(feature.values_));\r\n if (itemVal) {\r\n let { image, style } = itemVal;\r\n let dom;\r\n if (image) {\r\n dom = document.createElement('img');\r\n dom.src = image;\r\n } else {\r\n dom = document.createElement('div');\r\n dom.className = `ol-map-icon-alarm`;\r\n }\r\n\r\n if (style) {\r\n dom.style.cssText = style;\r\n }\r\n\r\n const overlay = new Overlay({\r\n element: dom,\r\n positioning: 'bottom-center',\r\n stopEvent: true,\r\n className: 'ol-overlay_container-stop_event',\r\n });\r\n\r\n map.addOverlay(overlay);\r\n\r\n overlay.setPosition(feature.getGeometry().getCoordinates());\r\n\r\n return overlay;\r\n }\r\n }\r\n};\r\n\r\nclass FeatureLayer extends Vector {\r\n constructor(options) {\r\n const {\r\n url,\r\n params,\r\n data,\r\n dataField,\r\n features,\r\n sourceOptions,\r\n key,\r\n name,\r\n label,\r\n labelField,\r\n point,\r\n cluster,\r\n template,\r\n autoRefresh,\r\n method,\r\n layerControl,\r\n show,\r\n style,\r\n group,\r\n iconOptions,\r\n afterGetData,\r\n legend,\r\n viewOnly,\r\n encrypt,\r\n valueField,\r\n map,\r\n tipTemplate,\r\n alarmBg,\r\n ...other\r\n } = options;\r\n\r\n const props = {\r\n ...other,\r\n };\r\n props.source =\r\n props.source ||\r\n new VectorSource({\r\n features,\r\n ...sourceOptions,\r\n });\r\n\r\n let defaultShow = show;\r\n if (group?.length) {\r\n defaultShow = false;\r\n\r\n if (show) {\r\n group.map(f => {\r\n if (f.show) {\r\n defaultShow = true;\r\n }\r\n\r\n // 将字符函数转化为可执行的函数\r\n f.filter = stringToFun(f.filter);\r\n });\r\n }\r\n }\r\n\r\n super(props);\r\n super.show = show;\r\n // 参数\r\n this._options = options;\r\n\r\n // 地图\r\n this.map = map;\r\n\r\n // 接口地址\r\n this.url = url;\r\n\r\n // 接口地址请求类型\r\n this.method = method;\r\n\r\n // 接口查询参数\r\n this.params = params;\r\n\r\n // 图层标识\r\n this.key = key;\r\n\r\n // 图层名称\r\n this.name = name;\r\n\r\n // 标签\r\n this.label = label;\r\n\r\n // 标签字段\r\n this.labelField = labelField;\r\n\r\n // 聚合\r\n this.cluster = cluster;\r\n\r\n // 聚合距离\r\n this.distance = cluster?.distance || 80;\r\n\r\n // 海量点\r\n this.point = point;\r\n\r\n // 自动刷新标识\r\n this.autoRefresh = autoRefresh;\r\n\r\n // 模版内容\r\n this.template = template;\r\n\r\n // 图层控制\r\n this.layerControl = layerControl;\r\n\r\n // 过滤\r\n this.group = group;\r\n\r\n // 处理获取的数据\r\n this.afterGetData = afterGetData;\r\n\r\n // 数据查询字段\r\n this.valueField = valueField;\r\n\r\n // 图例\r\n this.legend = legend;\r\n\r\n // 样式\r\n this.style = style;\r\n\r\n // 数据\r\n this.data = data;\r\n\r\n // 数据取值字段\r\n this.dataField = dataField || 'geometryInfo';\r\n\r\n // 仅展示\r\n this.viewOnly = viewOnly;\r\n\r\n // 是否初始化\r\n this.inited = false;\r\n\r\n // 加密\r\n this.encrypt = encrypt;\r\n\r\n // 气泡模板\r\n this.tipTemplate = tipTemplate;\r\n\r\n // 报警背景\r\n if (alarmBg) {\r\n this.alarmBg = (Array.isArray(alarmBg) ? alarmBg : [alarmBg]).map(item => {\r\n let { filter, style } = item;\r\n filter = stringToFun(filter);\r\n if (style) {\r\n style = item.style && typeof item.style === 'object' ? style : { color: style };\r\n style = convertCamelToCSS(style);\r\n }\r\n return {\r\n ...item,\r\n filter,\r\n style,\r\n };\r\n });\r\n }\r\n\r\n // 临时数据\r\n this._features = [];\r\n\r\n // 默认是否展示\r\n if (defaultShow) {\r\n this.init();\r\n }\r\n }\r\n\r\n // 初始化数据\r\n init() {\r\n // 是否存在地址\r\n if (this.url) {\r\n // 执行\r\n this.loadUrlData(this.url, this.params, this.method);\r\n }\r\n\r\n // 直接加载数据\r\n if (this.data) {\r\n // 执行\r\n this.loadData(this.data);\r\n }\r\n\r\n this.inited = true;\r\n }\r\n\r\n // 重写父类的属性访问器\r\n get show() {\r\n return super.show;\r\n }\r\n\r\n set show(value) {\r\n this.setVisible(value);\r\n }\r\n\r\n set label(val) {\r\n this._options.label = val;\r\n this.setStyle(this.getStyleByMode());\r\n }\r\n\r\n set point(val) {\r\n this._options.point = val;\r\n this.setStyle(this.getStyleByMode());\r\n }\r\n\r\n set cluster(val) {\r\n this.setClusterMode(val);\r\n }\r\n\r\n setShow(value) {\r\n this.show = value;\r\n this.setVisible(value);\r\n }\r\n\r\n setClusterMode(val) {\r\n const {show} = isObject(val) ? val : { show: val };\r\n this.setClusterSource(val);\r\n this.setStyle(this.getStyleByMode());\r\n\r\n if (this.map && show) {\r\n const map = this.map;\r\n this.destroy();\r\n\r\n // 监听地图缩放大于阈值时取消聚合\r\n let oldZoom = map.getView().getZoom();\r\n this.moveEnd = map.on('moveend', () => {\r\n const zoom = map.getView().getZoom(); //获取当前地图的缩放级别\r\n if (oldZoom !== zoom) {\r\n oldZoom = zoom;\r\n if (zoom >= (this._options.cluster?.zoomThreshold || 14)) {\r\n this.setClusterSource();\r\n } else {\r\n this.setClusterSource(val);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n getClusterTextStyle = (size, options) => {\r\n const { color, background, backgroundStroke, backgroundStrokeWidth, ...otherVal } =\r\n options && typeof options === 'object' ? options : {};\r\n const style = {\r\n text: String(size),\r\n font: '18px Calibri,sans-serif',\r\n fill: new Fill({\r\n color: color || '#fff',\r\n }),\r\n padding: [0, 0, 0, 0],\r\n justify: 'center',\r\n textAlign: 'center',\r\n textBaseline: 'middle',\r\n offsetY: -22,\r\n offsetX: 16,\r\n ...otherVal,\r\n };\r\n\r\n if (background) {\r\n style.backgroundFill = new Fill({\r\n color: background,\r\n });\r\n }\r\n\r\n if (backgroundStroke) {\r\n style.backgroundStroke = new Stroke({\r\n color: '#FFFFFF',\r\n width: backgroundStrokeWidth || 2,\r\n });\r\n }\r\n return new Text(style);\r\n };\r\n\r\n getLabelStyle = (feature, color) => {\r\n let { labelField } = this._options;\r\n\r\n // 判断是否是聚合点位\r\n if (feature.isCluster) {\r\n const size = feature.get('features')?.length || 0;\r\n if (size !== 1) {\r\n return;\r\n }\r\n }\r\n if (labelField) {\r\n return new Text({\r\n text: feature.values_[labelField] || '-',\r\n font: '12px Calibri,sans-serif',\r\n fill: new Fill({\r\n color,\r\n }),\r\n backgroundFill: new Fill({\r\n color: '#fff',\r\n }),\r\n backgroundStroke: new Stroke({\r\n color,\r\n width: 1,\r\n }),\r\n padding: [4, 2, 2, 4],\r\n justify: 'center',\r\n textBaseline: 'middle',\r\n offsetY: 12,\r\n });\r\n }\r\n };\r\n\r\n getStyleByMode() {\r\n return (feature, resolution) => {\r\n let { style, cluster, otherStyle } = this._options;\r\n let show = true;\r\n\r\n this.group?.map(v => {\r\n if (v?.filter?.(feature.values_)) {\r\n style = v.style || style;\r\n if (v.hasOwnProperty('show') && !v.show) {\r\n show = false;\r\n }\r\n }\r\n });\r\n feature.show = show;\r\n\r\n if (!show) {\r\n return null;\r\n }\r\n\r\n const styles = [];\r\n\r\n if (otherStyle) {\r\n if (isFunction(otherStyle)) {\r\n const _styles = otherStyle(feature, resolution);\r\n if (_styles) {\r\n if (Array.isArray(styles)) {\r\n styles.push(..._styles);\r\n } else {\r\n styles.push(_styles);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (style) {\r\n if (typeof style === 'string' || (isFunction(style) && cluster)) {\r\n styles.push(new renderer.Marker({ ...this.getMarkerOptions(feature, style) }));\r\n return styles;\r\n } else if (style instanceof Style) {\r\n // 判断是否为 ol Style\r\n styles.push(style);\r\n return styles;\r\n } else if (isFunction(style)) {\r\n // 判断是否为自定义函数渲染\r\n\r\n let _style = style(feature);\r\n if (_style?.type && _style?.style) {\r\n const options = this.getSimpleStyle(feature, _style);\r\n styles.push(renderer.Simple(options));\r\n return styles;\r\n }\r\n\r\n styles.push(_style);\r\n return styles;\r\n } else if (isObject(style)) {\r\n let { mode } = style;\r\n if (mode) {\r\n if (mode === 'Simple') {\r\n const options = this.getSimpleStyle(feature, style.render);\r\n styles.push(renderer.Simple(options));\r\n return styles;\r\n }\r\n\r\n if (mode === 'UniqueValue') {\r\n const size = feature.get('features')?.length || 0;\r\n if (size > 1) {\r\n const options = this.getSimpleStyle(\r\n feature,\r\n style.render.render[0],\r\n );\r\n styles.push(renderer.Simple(options));\r\n return styles;\r\n }\r\n\r\n const options = this.getMultipleStyle(feature, style.render);\r\n styles.push(renderer.UniqueValue(feature, options));\r\n return styles;\r\n }\r\n\r\n if (mode === 'ClassBreaks') {\r\n const size = feature.get('features')?.length || 0;\r\n if (size > 1) {\r\n const options = this.getSimpleStyle(\r\n feature,\r\n style.render.render[0],\r\n );\r\n styles.push(renderer.Simple(options));\r\n return styles;\r\n }\r\n\r\n const options = this.getMultipleStyle(feature, style.render);\r\n styles.push(renderer.ClassBreaks(feature, options));\r\n return styles;\r\n }\r\n } else if (style.style) {\r\n const options = this.getSimpleStyle(feature, style);\r\n styles.push(renderer.Simple(options));\r\n return styles;\r\n }\r\n }\r\n }\r\n styles.push(\r\n new Style({\r\n image: new Circle({\r\n radius: 4,\r\n fill: new Fill({\r\n color: 'rgba(0,155,255, 0.8)',\r\n }),\r\n }),\r\n fill: new Fill({\r\n color: 'rgba(255, 255, 255, 0.6)',\r\n }),\r\n stroke: new Stroke({\r\n color: '#009BFF',\r\n width: 2,\r\n }),\r\n }),\r\n );\r\n return styles;\r\n };\r\n }\r\n\r\n getSimpleStyle(feature, _render) {\r\n let { cluster } = this._options;\r\n const render = { ..._render };\r\n if (\r\n render.type === 'Marker' &&\r\n (render?.style?.icon || (cluster && render?.style?.image))\r\n ) {\r\n render.style = {\r\n ...render.style,\r\n ...this.getMarkerOptions(feature, render.style),\r\n };\r\n }\r\n\r\n return render;\r\n }\r\n\r\n getMultipleStyle(feature, _render) {\r\n const render = { ..._render };\r\n\r\n if (render?.render?.length) {\r\n render.render = render.render.map(v => this.getSimpleStyle(feature, v));\r\n }\r\n\r\n return render;\r\n }\r\n\r\n getMarkerOptions(feature, style) {\r\n let icon = style?.icon || style;\r\n let image = style?.image;\r\n let color = style?.color || '#2491fc';\r\n let { cluster, point, label } = this._options;\r\n\r\n // 判断是否为自定义函数渲染\r\n let isFun = isFunction(style);\r\n let data = {};\r\n if (isFun) {\r\n data = style(feature) || {};\r\n icon = data?.style?.icon || data?.icon || icon;\r\n color = data?.style?.color || data?.color || color;\r\n image = data?.style?.image || data?.image || image;\r\n }\r\n\r\n const size = feature.get('features')?.length || 0;\r\n\r\n let P = {\r\n marker: {\r\n // 图标\r\n icon,\r\n image,\r\n },\r\n point: {\r\n // 点位\r\n icon,\r\n type: 'PointIcon',\r\n },\r\n marker_cluster: {\r\n // 聚合图标\r\n icon,\r\n color: size > 1 ? '' : color,\r\n iconOptions:\r\n size > 1\r\n ? {\r\n hideFooter: true,\r\n info: { text: '', fontSize: 18 },\r\n ...(cluster?.iconOptions || {}),\r\n }\r\n : {},\r\n ...(size > 1 ? cluster?.style : cluster?.commonStyle),\r\n },\r\n point_cluster: {\r\n // 聚合点位\r\n icon,\r\n type: 'PointIcon',\r\n iconOptions:\r\n size > 1\r\n ? {\r\n text: size,\r\n }\r\n : {},\r\n ...(size > 1 && cluster?.style),\r\n },\r\n };\r\n\r\n let type = point ? 'point' : 'marker';\r\n\r\n if (cluster) {\r\n if (isObject(cluster)) {\r\n if (cluster.show) {\r\n type = 'marker_cluster';\r\n if (point) {\r\n type = 'point_cluster';\r\n }\r\n }\r\n } else {\r\n type = 'marker_cluster';\r\n if (point) {\r\n type = 'point_cluster';\r\n }\r\n }\r\n }\r\n\r\n let _style = P[type];\r\n\r\n if (label) {\r\n if (Object.keys(data)?.includes('customText')) {\r\n _style.text = data?.customText;\r\n } else {\r\n _style.text = this.getLabelStyle(feature, color);\r\n }\r\n }\r\n\r\n if (feature.isCluster && size > 1 && type === 'marker_cluster') {\r\n _style.text = this.getClusterTextStyle(size);\r\n }\r\n\r\n return _style;\r\n }\r\n\r\n setClusterSource(cluster) {\r\n let _this = this;\r\n cluster = isObject(cluster) ? cluster : { show: cluster };\r\n let { show, minDistance, distance, group } = cluster;\r\n let source = new VectorSource({\r\n features: this._features?.filter(v => !v.hasOwnProperty('show') || v.show),\r\n });\r\n if (show) {\r\n group = group || this.group;\r\n let clusterSource = new Cluster({\r\n distance: distance || 100,\r\n minDistance: minDistance || 50,\r\n source,\r\n group,\r\n clusterChange: features => {\r\n this.setAlarmBgByFeatures(features);\r\n },\r\n createCluster: (point, features) => {\r\n let feature = new Feature({\r\n geometry: point,\r\n features: features.map(v => {\r\n v.layerKey = _this.key;\r\n return v;\r\n }),\r\n });\r\n\r\n if (group?.length) {\r\n let style;\r\n const f = features[0];\r\n const size = features.length;\r\n group?.map(v => {\r\n if (v?.filter?.(f.values_)) {\r\n style = v.style || style;\r\n }\r\n });\r\n\r\n let markerStyle = { ...style.style };\r\n\r\n if (size > 1) {\r\n if (style?.clusterStyle) {\r\n markerStyle = { ...style.clusterStyle };\r\n }\r\n\r\n const { numberStyle, iconOptions, ...otherStyle } = markerStyle;\r\n markerStyle = {\r\n ...otherStyle,\r\n text: this.getClusterTextStyle(\r\n markerStyle?.image ? size : ' ',\r\n numberStyle,\r\n ),\r\n iconOptions: {\r\n hideFooter: true,\r\n info: { text: size, fontSize: 18 },\r\n ...(iconOptions || cluster?.iconOptions || {}),\r\n },\r\n };\r\n }\r\n\r\n let _style = new renderer.Marker(markerStyle);\r\n feature.setStyle(_style);\r\n }\r\n\r\n // 增加聚合点位标识\r\n feature.isCluster = true;\r\n\r\n if (features.length === 1) {\r\n feature.setProperties(features[0].values_);\r\n }\r\n\r\n return feature;\r\n },\r\n ...cluster,\r\n });\r\n\r\n this.setSource(clusterSource);\r\n } else {\r\n this.setSource(source);\r\n }\r\n }\r\n\r\n // 清除报警背景\r\n clearAlarmBg() {\r\n if (this.map && this.overlays?.length) {\r\n this.overlays.map(overlay => this.map.removeOverlay(overlay));\r\n this.overlays = null;\r\n }\r\n }\r\n\r\n // 设置报警背景\r\n setAlarmBgByFeatures(features) {\r\n this.clearAlarmBg();\r\n this.overlays = [];\r\n\r\n if (this.map && this.alarmBg && features?.length) {\r\n features.map(feature => {\r\n let _feature = feature;\r\n\r\n const cluster = feature.get('features');\r\n if (cluster) {\r\n _feature = cluster.length < 2 ? cluster[0] : null;\r\n }\r\n\r\n if (_feature && (_feature.hasOwnProperty('show') ? _feature.show : true)) {\r\n let overlay = addOverlay(_feature, this.map, this.alarmBg);\r\n if (overlay) {\r\n this.overlays.push(overlay);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n refresh() {\r\n getDataByHttpByParams({\r\n url: this.url,\r\n params: this.params,\r\n method: this.method,\r\n afterGetData: this.afterGetData,\r\n field: this.dataField,\r\n }).then(features => {\r\n if (features) {\r\n let new_features = features;\r\n this._features = new_features;\r\n\r\n let newFeatures = [];\r\n new_features.map(v => {\r\n let f = this.getFeatureByFieldValue('id', v.values_.id);\r\n if (f) {\r\n f.values_ = v.values_;\r\n } else {\r\n newFeatures.push(v);\r\n }\r\n });\r\n\r\n if (newFeatures.length) {\r\n this.getSource().addFeatures(newFeatures);\r\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\r\n }\r\n\r\n this.getSource().changed();\r\n }\r\n });\r\n }\r\n\r\n loadData(data) {\r\n this.getSource().clear();\r\n let features = createGeoJson(data);\r\n this.getSource().addFeatures(features);\r\n\r\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\r\n\r\n this._features = features;\r\n if (this._options.cluster) {\r\n this.setClusterMode(this._options.cluster);\r\n }\r\n }\r\n\r\n loadUrlData(url, params, method, afterGetData = this.afterGetData) {\r\n this.getSource().clear();\r\n this._features = [];\r\n\r\n if (this.encrypt) {\r\n params = encryptParams(params, this.encrypt);\r\n }\r\n\r\n getDataByHttpByParams({\r\n url,\r\n params,\r\n method,\r\n afterGetData,\r\n field: this.dataField,\r\n }).then(features => {\r\n this.getSource().clear();\r\n this._features = [];\r\n\r\n if (features?.length) {\r\n this._features = features;\r\n this.getSource().addFeatures(features);\r\n\r\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\r\n }\r\n if (this._options.cluster) {\r\n this.setClusterMode(this._options.cluster);\r\n }\r\n });\r\n }\r\n\r\n loadFeatures(features) {\r\n this.getSource().clear();\r\n this.getSource().addFeatures(features);\r\n\r\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\r\n\r\n this._features = features;\r\n if (this._options.cluster) {\r\n this.setClusterMode(this._options.cluster);\r\n }\r\n }\r\n\r\n getFeatures() {\r\n const source = this.getSource().source || this.getSource();\r\n return source.getFeatures();\r\n }\r\n\r\n getFeatureByFieldValue(field, value) {\r\n return this.getFeatures().find(v => v.values_[field] === value);\r\n }\r\n\r\n getFeaturesByFieldValueOpera({ field, value, operation = '===', features, filter }) {\r\n return new Promise((resolve, reject) => {\r\n let _features = features || this.getFeatures();\r\n if (filter) {\r\n _features = _features.filter(feature => filter(feature.values_));\r\n }\r\n\r\n let result = _features;\r\n\r\n if (operation && value !== undefined) {\r\n if (['>', '>=', '<', '<=', '===', '!=='].includes(operation)) {\r\n try {\r\n // 通过动态创建方法自动传入操作符\r\n const fun = new Function(\r\n 'features',\r\n 'field',\r\n 'value',\r\n `return features.filter(v => v.values_[field] ${operation} value)`,\r\n );\r\n result = fun(_features, field, value);\r\n } catch (err) {\r\n reject(err);\r\n }\r\n } else if (operation === 'like') {\r\n // 包含\r\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\r\n } else if (operation === 'notLike') {\r\n // 不包含\r\n result = _features.filter(v => v.values_[field]?.indexOf(value) === -1);\r\n } else {\r\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\r\n }\r\n }\r\n\r\n resolve(result);\r\n });\r\n }\r\n\r\n // 获取地图\r\n getMap() {\r\n return this.map;\r\n }\r\n\r\n // 设置过滤条件\r\n setGroup(group) {\r\n if (group?.length) {\r\n if (this._features?.length) {\r\n this._features.map(feature => {\r\n let show = true;\r\n group.map(v => {\r\n v.filter = stringToFun(v.filter);\r\n if (v?.filter?.(feature.values_)) {\r\n if (v.hasOwnProperty('show') && !v.show) {\r\n show = false;\r\n }\r\n }\r\n });\r\n feature.show = show;\r\n });\r\n }\r\n this.group = group;\r\n this.setVisibleByGroup();\r\n\r\n if (this._options.cluster) {\r\n this.setClusterMode(this._options.cluster);\r\n } else {\r\n this.setStyle(this.getStyleByMode());\r\n }\r\n\r\n this.setAlarmBgByFeatures(this._features);\r\n }\r\n }\r\n\r\n // 根据过滤条件组显示图层\r\n setVisibleByGroup() {\r\n const group = this.group;\r\n if (group?.length) {\r\n let visible = false;\r\n\r\n group.map(v => {\r\n if (!v.hasOwnProperty('show') || v.show) {\r\n visible = true;\r\n }\r\n });\r\n\r\n this.setVisible(visible);\r\n }\r\n }\r\n\r\n // 设置图层显示隐藏\r\n setVisible(visible) {\r\n super.setVisible(visible); // 将属性传递给父类\r\n\r\n const map = this.getMap && this.getMap();\r\n if (map) {\r\n map.layers.onChange();\r\n }\r\n\r\n // 判断是否完成过初始化,没有的话就加载一波数据\r\n if (!this.inited) {\r\n this.init();\r\n }\r\n\r\n if (!visible) {\r\n this.clearAlarmBg();\r\n } else {\r\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\r\n }\r\n }\r\n\r\n clearMoveEnd() {\r\n const map = this.map;\r\n if (map && this.moveEnd) {\r\n map.un('moveend', this.moveEnd);\r\n this.moveEnd = null;\r\n }\r\n }\r\n\r\n destroy() {\r\n this.clearMoveEnd();\r\n this.clearAlarmBg();\r\n }\r\n}\r\n\r\nexport default FeatureLayer;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FeatureLayer.js","names":["_layer","require","_ol","_source","_renderer","_interopRequireDefault","_style5","_isFunction","_createFeatureCollection","_isObject","_encryptParams","_stringToFun","_convertCamelToCSS","_MyCluster","_excluded","_excluded2","_excluded3","obj","__esModule","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","length","i","arr2","_typeof","ownKeys","e","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","configurable","writable","_toPropertyKey","_createClass","protoProps","staticProps","_get","Reflect","get","bind","property","receiver","base","_superPropBase","desc","value","_inherits","subClass","superClass","create","_setPrototypeOf","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","set","_set","isStrict","s","object","hasOwnProperty","getPrototypeOf","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","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","_super","options","_thisSuper","_this2","url","params","data","dataField","features","sourceOptions","label","labelField","point","cluster","template","autoRefresh","method","layerControl","show","group","iconOptions","afterGetData","legend","viewOnly","encrypt","valueField","tipTemplate","other","VectorSource","defaultShow","f","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","setVisible","val","setStyle","getStyleByMode","setClusterMode","setShow","_this3","_ref2","isObject","setClusterSource","destroy","oldZoom","getView","getZoom","moveEnd","on","zoom","_this3$_options$clust","zoomThreshold","_this4","resolution","_this4$group","_this4$_options","otherStyle","_v$filter","styles","isFunction","_styles","renderer","Marker","getMarkerOptions","Style","_style","type","getSimpleStyle","Simple","_style3","mode","render","_feature$get2","getMultipleStyle","UniqueValue","_feature$get3","ClassBreaks","Circle","radius","stroke","_render","_render$style","_render$style2","icon","_render$render","_this5","_feature$get4","_this$_options","isFun","_data","_data2","_data3","_data4","_data5","_data6","P","marker","marker_cluster","hideFooter","info","fontSize","commonStyle","point_cluster","_Object$keys","includes","_data7","customText","getLabelStyle","getClusterTextStyle","_this$_features","_this6","_this","_cluster","minDistance","clusterSource","Cluster","clusterChange","setAlarmBgByFeatures","createCluster","_group","Feature","geometry","layerKey","_group2","_v$filter2","markerStyle","_style4","_markerStyle2","_cluster2","clusterStyle","_markerStyle","numberStyle","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","_this10","encryptParams","loadFeatures","getFeaturesByFieldValueOpera","_ref3","_this11","_ref3$operation","operation","Promise","resolve","reject","fun","Function","concat","err","_v$values_$field","_v$values_$field2","_v$values_$field3","getMap","setGroup","_this$_features2","_v$filter3","setVisibleByGroup","visible","layers","onChange","clearMoveEnd","un","Vector","_default","exports"],"sources":["feature-layer/FeatureLayer.js"],"sourcesContent":["import { Vector } from 'ol/layer';\r\nimport { Feature, Overlay } from 'ol';\r\nimport { Vector as VectorSource } from 'ol/source';\r\nimport renderer from '../renderer';\r\nimport { Fill, Style, Text, Stroke, Circle } from 'ol/style';\r\nimport isFunction from '../_util/isFunction';\r\nimport { getDataByHttpByParams, createGeoJson } from './createFeatureCollection';\r\nimport isObject from '../_util/isObject';\r\nimport encryptParams from '../_util/encryptParams';\r\nimport stringToFun from '../_util/stringToFun';\r\nimport convertCamelToCSS from '../convertCamelToCSS';\r\nimport Cluster from './MyCluster';\r\n\r\nconst addOverlay = (feature, map, alarmBg) => {\r\n if (alarmBg) {\r\n let itemVal = alarmBg.find(v => v.filter(feature.values_));\r\n if (itemVal) {\r\n let { image, style } = itemVal;\r\n let dom;\r\n if (image) {\r\n dom = document.createElement('img');\r\n dom.src = image;\r\n } else {\r\n dom = document.createElement('div');\r\n dom.className = `ol-map-icon-alarm`;\r\n }\r\n\r\n if (style) {\r\n dom.style.cssText = style;\r\n }\r\n\r\n const overlay = new Overlay({\r\n element: dom,\r\n positioning: 'bottom-center',\r\n stopEvent: true,\r\n className: 'ol-overlay_container-stop_event',\r\n });\r\n\r\n map.addOverlay(overlay);\r\n\r\n overlay.setPosition(feature.getGeometry().getCoordinates());\r\n\r\n return overlay;\r\n }\r\n }\r\n};\r\n\r\nclass FeatureLayer extends Vector {\r\n constructor(options) {\r\n const {\r\n url,\r\n params,\r\n data,\r\n dataField,\r\n features,\r\n sourceOptions,\r\n key,\r\n name,\r\n label,\r\n labelField,\r\n point,\r\n cluster,\r\n template,\r\n autoRefresh,\r\n method,\r\n layerControl,\r\n show,\r\n style,\r\n group,\r\n iconOptions,\r\n afterGetData,\r\n legend,\r\n viewOnly,\r\n encrypt,\r\n valueField,\r\n map,\r\n tipTemplate,\r\n alarmBg,\r\n ...other\r\n } = options;\r\n\r\n const props = {\r\n ...other,\r\n };\r\n props.source =\r\n props.source ||\r\n new VectorSource({\r\n features,\r\n ...sourceOptions,\r\n });\r\n\r\n let defaultShow = show;\r\n if (group?.length) {\r\n defaultShow = false;\r\n\r\n if (show) {\r\n group.map(f => {\r\n if (f.show) {\r\n defaultShow = true;\r\n }\r\n\r\n // 将字符函数转化为可执行的函数\r\n f.filter = stringToFun(f.filter);\r\n });\r\n }\r\n }\r\n\r\n super(props);\r\n super.show = show;\r\n // 参数\r\n this._options = options;\r\n\r\n // 地图\r\n this.map = map;\r\n\r\n // 接口地址\r\n this.url = url;\r\n\r\n // 接口地址请求类型\r\n this.method = method;\r\n\r\n // 接口查询参数\r\n this.params = params;\r\n\r\n // 图层标识\r\n this.key = key;\r\n\r\n // 图层名称\r\n this.name = name;\r\n\r\n // 标签\r\n this.label = label;\r\n\r\n // 标签字段\r\n this.labelField = labelField;\r\n\r\n // 聚合\r\n this.cluster = cluster;\r\n\r\n // 聚合距离\r\n this.distance = cluster?.distance || 80;\r\n\r\n // 海量点\r\n this.point = point;\r\n\r\n // 自动刷新标识\r\n this.autoRefresh = autoRefresh;\r\n\r\n // 模版内容\r\n this.template = template;\r\n\r\n // 图层控制\r\n this.layerControl = layerControl;\r\n\r\n // 过滤\r\n this.group = group;\r\n\r\n // 处理获取的数据\r\n this.afterGetData = afterGetData;\r\n\r\n // 数据查询字段\r\n this.valueField = valueField;\r\n\r\n // 图例\r\n this.legend = legend;\r\n\r\n // 样式\r\n this.style = style;\r\n\r\n // 数据\r\n this.data = data;\r\n\r\n // 数据取值字段\r\n this.dataField = dataField || 'geometryInfo';\r\n\r\n // 仅展示\r\n this.viewOnly = viewOnly;\r\n\r\n // 是否初始化\r\n this.inited = false;\r\n\r\n // 加密\r\n this.encrypt = encrypt;\r\n\r\n // 气泡模板\r\n this.tipTemplate = tipTemplate;\r\n\r\n // 报警背景\r\n if (alarmBg) {\r\n this.alarmBg = (Array.isArray(alarmBg) ? alarmBg : [alarmBg]).map(item => {\r\n let { filter, style } = item;\r\n filter = stringToFun(filter);\r\n if (style) {\r\n style = item.style && typeof item.style === 'object' ? style : { color: style };\r\n style = convertCamelToCSS(style);\r\n }\r\n return {\r\n ...item,\r\n filter,\r\n style,\r\n };\r\n });\r\n }\r\n\r\n // 临时数据\r\n this._features = [];\r\n\r\n // 默认是否展示\r\n if (defaultShow) {\r\n this.init();\r\n }\r\n }\r\n\r\n // 初始化数据\r\n init() {\r\n // 是否存在地址\r\n if (this.url) {\r\n // 执行\r\n this.loadUrlData(this.url, this.params, this.method);\r\n }\r\n\r\n // 直接加载数据\r\n if (this.data) {\r\n // 执行\r\n this.loadData(this.data);\r\n }\r\n\r\n this.inited = true;\r\n }\r\n\r\n // 重写父类的属性访问器\r\n get show() {\r\n return super.show;\r\n }\r\n\r\n set show(value) {\r\n this.setVisible(value);\r\n }\r\n\r\n set label(val) {\r\n this._options.label = val;\r\n this.setStyle(this.getStyleByMode());\r\n }\r\n\r\n set point(val) {\r\n this._options.point = val;\r\n this.setStyle(this.getStyleByMode());\r\n }\r\n\r\n set cluster(val) {\r\n this.setClusterMode(val);\r\n }\r\n\r\n setShow(value) {\r\n this.show = value;\r\n this.setVisible(value);\r\n }\r\n\r\n setClusterMode(val) {\r\n const {show} = isObject(val) ? val : { show: val };\r\n this.setClusterSource(val);\r\n this.setStyle(this.getStyleByMode());\r\n\r\n if (this.map && show) {\r\n const map = this.map;\r\n this.destroy();\r\n\r\n // 监听地图缩放大于阈值时取消聚合\r\n let oldZoom = map.getView().getZoom();\r\n this.moveEnd = map.on('moveend', () => {\r\n const zoom = map.getView().getZoom(); //获取当前地图的缩放级别\r\n if (oldZoom !== zoom) {\r\n oldZoom = zoom;\r\n if (zoom >= (this._options.cluster?.zoomThreshold || 14)) {\r\n this.setClusterSource();\r\n } else {\r\n this.setClusterSource(val);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n getClusterTextStyle = (size, options) => {\r\n const { color, background, backgroundStroke, backgroundStrokeWidth, ...otherVal } =\r\n options && typeof options === 'object' ? options : {};\r\n const style = {\r\n text: String(size),\r\n font: '18px Calibri,sans-serif',\r\n fill: new Fill({\r\n color: color || '#fff',\r\n }),\r\n padding: [0, 0, 0, 0],\r\n justify: 'center',\r\n textAlign: 'center',\r\n textBaseline: 'middle',\r\n offsetY: -22,\r\n offsetX: 16,\r\n ...otherVal,\r\n };\r\n\r\n if (background) {\r\n style.backgroundFill = new Fill({\r\n color: background,\r\n });\r\n }\r\n\r\n if (backgroundStroke) {\r\n style.backgroundStroke = new Stroke({\r\n color: '#FFFFFF',\r\n width: backgroundStrokeWidth || 2,\r\n });\r\n }\r\n return new Text(style);\r\n };\r\n\r\n getLabelStyle = (feature, color) => {\r\n let { labelField } = this._options;\r\n\r\n // 判断是否是聚合点位\r\n if (feature.isCluster) {\r\n const size = feature.get('features')?.length || 0;\r\n if (size !== 1) {\r\n return;\r\n }\r\n }\r\n if (labelField) {\r\n return new Text({\r\n text: feature.values_[labelField] || '-',\r\n font: '12px Calibri,sans-serif',\r\n fill: new Fill({\r\n color,\r\n }),\r\n backgroundFill: new Fill({\r\n color: '#fff',\r\n }),\r\n backgroundStroke: new Stroke({\r\n color,\r\n width: 1,\r\n }),\r\n padding: [4, 2, 2, 4],\r\n justify: 'center',\r\n textBaseline: 'middle',\r\n offsetY: 12,\r\n });\r\n }\r\n };\r\n\r\n getStyleByMode() {\r\n return (feature, resolution) => {\r\n let { style, cluster, otherStyle } = this._options;\r\n let show = true;\r\n\r\n this.group?.map(v => {\r\n if (v?.filter?.(feature.values_)) {\r\n style = v.style || style;\r\n if (v.hasOwnProperty('show') && !v.show) {\r\n show = false;\r\n }\r\n }\r\n });\r\n feature.show = show;\r\n\r\n if (!show) {\r\n return null;\r\n }\r\n\r\n const styles = [];\r\n\r\n if (otherStyle) {\r\n if (isFunction(otherStyle)) {\r\n const _styles = otherStyle(feature, resolution);\r\n if (_styles) {\r\n if (Array.isArray(styles)) {\r\n styles.push(..._styles);\r\n } else {\r\n styles.push(_styles);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (style) {\r\n if (typeof style === 'string' || (isFunction(style) && cluster)) {\r\n styles.push(new renderer.Marker({ ...this.getMarkerOptions(feature, style) }));\r\n return styles;\r\n } else if (style instanceof Style) {\r\n // 判断是否为 ol Style\r\n styles.push(style);\r\n return styles;\r\n } else if (isFunction(style)) {\r\n // 判断是否为自定义函数渲染\r\n\r\n let _style = style(feature);\r\n if (_style?.type && _style?.style) {\r\n const options = this.getSimpleStyle(feature, _style);\r\n styles.push(renderer.Simple(options));\r\n return styles;\r\n }\r\n\r\n styles.push(_style);\r\n return styles;\r\n } else if (isObject(style)) {\r\n let { mode } = style;\r\n if (mode) {\r\n if (mode === 'Simple') {\r\n const options = this.getSimpleStyle(feature, style.render);\r\n styles.push(renderer.Simple(options));\r\n return styles;\r\n }\r\n\r\n if (mode === 'UniqueValue') {\r\n const size = feature.get('features')?.length || 0;\r\n if (size > 1) {\r\n const options = this.getSimpleStyle(\r\n feature,\r\n style.render.render[0],\r\n );\r\n styles.push(renderer.Simple(options));\r\n return styles;\r\n }\r\n\r\n const options = this.getMultipleStyle(feature, style.render);\r\n styles.push(renderer.UniqueValue(feature, options));\r\n return styles;\r\n }\r\n\r\n if (mode === 'ClassBreaks') {\r\n const size = feature.get('features')?.length || 0;\r\n if (size > 1) {\r\n const options = this.getSimpleStyle(\r\n feature,\r\n style.render.render[0],\r\n );\r\n styles.push(renderer.Simple(options));\r\n return styles;\r\n }\r\n\r\n const options = this.getMultipleStyle(feature, style.render);\r\n styles.push(renderer.ClassBreaks(feature, options));\r\n return styles;\r\n }\r\n } else if (style.style) {\r\n const options = this.getSimpleStyle(feature, style);\r\n styles.push(renderer.Simple(options));\r\n return styles;\r\n }\r\n }\r\n }\r\n styles.push(\r\n new Style({\r\n image: new Circle({\r\n radius: 4,\r\n fill: new Fill({\r\n color: 'rgba(0,155,255, 0.8)',\r\n }),\r\n }),\r\n fill: new Fill({\r\n color: 'rgba(255, 255, 255, 0.6)',\r\n }),\r\n stroke: new Stroke({\r\n color: '#009BFF',\r\n width: 2,\r\n }),\r\n }),\r\n );\r\n return styles;\r\n };\r\n }\r\n\r\n getSimpleStyle(feature, _render) {\r\n let { cluster } = this._options;\r\n const render = { ..._render };\r\n if (\r\n render.type === 'Marker' &&\r\n (render?.style?.icon || (cluster && render?.style?.image))\r\n ) {\r\n render.style = {\r\n ...render.style,\r\n ...this.getMarkerOptions(feature, render.style),\r\n };\r\n }\r\n\r\n return render;\r\n }\r\n\r\n getMultipleStyle(feature, _render) {\r\n const render = { ..._render };\r\n\r\n if (render?.render?.length) {\r\n render.render = render.render.map(v => this.getSimpleStyle(feature, v));\r\n }\r\n\r\n return render;\r\n }\r\n\r\n getMarkerOptions(feature, style) {\r\n let icon = style?.icon || style;\r\n let image = style?.image;\r\n let color = style?.color || '#2491fc';\r\n let { cluster, point, label } = this._options;\r\n\r\n // 判断是否为自定义函数渲染\r\n let isFun = isFunction(style);\r\n let data = {};\r\n if (isFun) {\r\n data = style(feature) || {};\r\n icon = data?.style?.icon || data?.icon || icon;\r\n color = data?.style?.color || data?.color || color;\r\n image = data?.style?.image || data?.image || image;\r\n }\r\n\r\n const size = feature.get('features')?.length || 0;\r\n\r\n let P = {\r\n marker: {\r\n // 图标\r\n icon,\r\n image,\r\n },\r\n point: {\r\n // 点位\r\n icon,\r\n type: 'PointIcon',\r\n },\r\n marker_cluster: {\r\n // 聚合图标\r\n icon,\r\n color: size > 1 ? '' : color,\r\n iconOptions:\r\n size > 1\r\n ? {\r\n hideFooter: true,\r\n info: { text: '', fontSize: 18 },\r\n ...(cluster?.iconOptions || {}),\r\n }\r\n : {},\r\n ...(size > 1 ? cluster?.style : cluster?.commonStyle),\r\n },\r\n point_cluster: {\r\n // 聚合点位\r\n icon,\r\n type: 'PointIcon',\r\n iconOptions:\r\n size > 1\r\n ? {\r\n text: size,\r\n }\r\n : {},\r\n ...(size > 1 && cluster?.style),\r\n },\r\n };\r\n\r\n let type = point ? 'point' : 'marker';\r\n\r\n if (cluster) {\r\n if (isObject(cluster)) {\r\n if (cluster.show) {\r\n type = 'marker_cluster';\r\n if (point) {\r\n type = 'point_cluster';\r\n }\r\n }\r\n } else {\r\n type = 'marker_cluster';\r\n if (point) {\r\n type = 'point_cluster';\r\n }\r\n }\r\n }\r\n\r\n let _style = P[type];\r\n\r\n if (label) {\r\n if (Object.keys(data)?.includes('customText')) {\r\n _style.text = data?.customText;\r\n } else {\r\n _style.text = this.getLabelStyle(feature, color);\r\n }\r\n }\r\n\r\n if (feature.isCluster && size > 1 && type === 'marker_cluster') {\r\n _style.text = this.getClusterTextStyle(size);\r\n }\r\n\r\n return _style;\r\n }\r\n\r\n setClusterSource(cluster) {\r\n let _this = this;\r\n cluster = isObject(cluster) ? cluster : { show: cluster };\r\n let { show, minDistance, distance, group } = cluster;\r\n let source = new VectorSource({\r\n features: this._features?.filter(v => !v.hasOwnProperty('show') || v.show),\r\n });\r\n if (show) {\r\n group = group || this.group;\r\n let clusterSource = new Cluster({\r\n distance: distance || 100,\r\n minDistance: minDistance || 50,\r\n source,\r\n group,\r\n clusterChange: features => {\r\n this.setAlarmBgByFeatures(features);\r\n },\r\n createCluster: (point, features) => {\r\n let feature = new Feature({\r\n geometry: point,\r\n features: features.map(v => {\r\n v.layerKey = _this.key;\r\n return v;\r\n }),\r\n });\r\n\r\n if (group?.length) {\r\n let style;\r\n const f = features[0];\r\n const size = features.length;\r\n group?.map(v => {\r\n if (v?.filter?.(f.values_)) {\r\n style = v.style || style;\r\n }\r\n });\r\n\r\n let markerStyle = { ...style.style };\r\n\r\n if (size > 1) {\r\n if (style?.clusterStyle) {\r\n markerStyle = { ...style.clusterStyle };\r\n }\r\n\r\n const { numberStyle, iconOptions, ...otherStyle } = markerStyle;\r\n markerStyle = {\r\n ...otherStyle,\r\n text: this.getClusterTextStyle(\r\n markerStyle?.image ? size : ' ',\r\n numberStyle,\r\n ),\r\n iconOptions: {\r\n hideFooter: true,\r\n info: { text: size, fontSize: 18 },\r\n ...(iconOptions || cluster?.iconOptions || {}),\r\n },\r\n };\r\n }\r\n\r\n let _style = new renderer.Marker(markerStyle);\r\n feature.setStyle(_style);\r\n }\r\n\r\n // 增加聚合点位标识\r\n feature.isCluster = true;\r\n\r\n if (features.length === 1) {\r\n feature.setProperties(features[0].values_);\r\n }\r\n\r\n return feature;\r\n },\r\n ...cluster,\r\n });\r\n\r\n this.setSource(clusterSource);\r\n } else {\r\n this.setSource(source);\r\n }\r\n }\r\n\r\n // 清除报警背景\r\n clearAlarmBg() {\r\n if (this.map && this.overlays?.length) {\r\n this.overlays.map(overlay => this.map.removeOverlay(overlay));\r\n this.overlays = null;\r\n }\r\n }\r\n\r\n // 设置报警背景\r\n setAlarmBgByFeatures(features) {\r\n this.clearAlarmBg();\r\n this.overlays = [];\r\n\r\n if (this.map && this.alarmBg && features?.length) {\r\n features.map(feature => {\r\n let _feature = feature;\r\n\r\n const cluster = feature.get('features');\r\n if (cluster) {\r\n _feature = cluster.length < 2 ? cluster[0] : null;\r\n }\r\n\r\n if (_feature && (_feature.hasOwnProperty('show') ? _feature.show : true)) {\r\n let overlay = addOverlay(_feature, this.map, this.alarmBg);\r\n if (overlay) {\r\n this.overlays.push(overlay);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n refresh() {\r\n getDataByHttpByParams({\r\n url: this.url,\r\n params: this.params,\r\n method: this.method,\r\n afterGetData: this.afterGetData,\r\n field: this.dataField,\r\n }).then(features => {\r\n if (features) {\r\n let new_features = features;\r\n this._features = new_features;\r\n\r\n let newFeatures = [];\r\n new_features.map(v => {\r\n let f = this.getFeatureByFieldValue('id', v.values_.id);\r\n if (f) {\r\n f.values_ = v.values_;\r\n } else {\r\n newFeatures.push(v);\r\n }\r\n });\r\n\r\n if (newFeatures.length) {\r\n this.getSource().addFeatures(newFeatures);\r\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\r\n }\r\n\r\n this.getSource().changed();\r\n }\r\n });\r\n }\r\n\r\n loadData(data) {\r\n this.getSource().clear();\r\n let features = createGeoJson(data);\r\n this.getSource().addFeatures(features);\r\n\r\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\r\n\r\n this._features = features;\r\n if (this._options.cluster) {\r\n this.setClusterMode(this._options.cluster);\r\n }\r\n }\r\n\r\n loadUrlData(url, params, method, afterGetData = this.afterGetData) {\r\n this.getSource().clear();\r\n this._features = [];\r\n\r\n if (this.encrypt) {\r\n params = encryptParams(params, this.encrypt);\r\n }\r\n\r\n getDataByHttpByParams({\r\n url,\r\n params,\r\n method,\r\n afterGetData,\r\n field: this.dataField,\r\n }).then(features => {\r\n this.getSource().clear();\r\n this._features = [];\r\n\r\n if (features?.length) {\r\n this._features = features;\r\n this.getSource().addFeatures(features);\r\n\r\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\r\n }\r\n if (this._options.cluster) {\r\n this.setClusterMode(this._options.cluster);\r\n }\r\n });\r\n }\r\n\r\n loadFeatures(features) {\r\n this.getSource().clear();\r\n this.getSource().addFeatures(features);\r\n\r\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\r\n\r\n this._features = features;\r\n if (this._options.cluster) {\r\n this.setClusterMode(this._options.cluster);\r\n }\r\n }\r\n\r\n getFeatures() {\r\n const source = this.getSource().source || this.getSource();\r\n return source.getFeatures();\r\n }\r\n\r\n getFeatureByFieldValue(field, value) {\r\n return this.getFeatures().find(v => v.values_[field] === value);\r\n }\r\n\r\n getFeaturesByFieldValueOpera({ field, value, operation = '===', features, filter }) {\r\n return new Promise((resolve, reject) => {\r\n let _features = features || this.getFeatures();\r\n if (filter) {\r\n _features = _features.filter(feature => filter(feature.values_));\r\n }\r\n\r\n let result = _features;\r\n\r\n if (operation && value !== undefined) {\r\n if (['>', '>=', '<', '<=', '===', '!=='].includes(operation)) {\r\n try {\r\n // 通过动态创建方法自动传入操作符\r\n const fun = new Function(\r\n 'features',\r\n 'field',\r\n 'value',\r\n `return features.filter(v => v.values_[field] ${operation} value)`,\r\n );\r\n result = fun(_features, field, value);\r\n } catch (err) {\r\n reject(err);\r\n }\r\n } else if (operation === 'like') {\r\n // 包含\r\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\r\n } else if (operation === 'notLike') {\r\n // 不包含\r\n result = _features.filter(v => v.values_[field]?.indexOf(value) === -1);\r\n } else {\r\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\r\n }\r\n }\r\n\r\n resolve(result);\r\n });\r\n }\r\n\r\n // 获取地图\r\n getMap() {\r\n return this.map;\r\n }\r\n\r\n // 设置过滤条件\r\n setGroup(group) {\r\n if (group?.length) {\r\n if (this._features?.length) {\r\n this._features.map(feature => {\r\n let show = true;\r\n group.map(v => {\r\n v.filter = stringToFun(v.filter);\r\n if (v?.filter?.(feature.values_)) {\r\n if (v.hasOwnProperty('show') && !v.show) {\r\n show = false;\r\n }\r\n }\r\n });\r\n feature.show = show;\r\n });\r\n }\r\n this.group = group;\r\n this.setVisibleByGroup();\r\n\r\n if (this._options.cluster) {\r\n this.setClusterMode(this._options.cluster);\r\n } else {\r\n this.setStyle(this.getStyleByMode());\r\n }\r\n\r\n this.setAlarmBgByFeatures(this._features);\r\n }\r\n }\r\n\r\n // 根据过滤条件组显示图层\r\n setVisibleByGroup() {\r\n const group = this.group;\r\n if (group?.length) {\r\n let visible = false;\r\n\r\n group.map(v => {\r\n if (!v.hasOwnProperty('show') || v.show) {\r\n visible = true;\r\n }\r\n });\r\n\r\n this.setVisible(visible);\r\n }\r\n }\r\n\r\n // 设置图层显示隐藏\r\n setVisible(visible) {\r\n super.setVisible(visible); // 将属性传递给父类\r\n\r\n const map = this.getMap && this.getMap();\r\n if (map) {\r\n map.layers.onChange();\r\n }\r\n\r\n // 判断是否完成过初始化,没有的话就加载一波数据\r\n if (!this.inited) {\r\n this.init();\r\n }\r\n\r\n if (!visible) {\r\n this.clearAlarmBg();\r\n } else {\r\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\r\n }\r\n }\r\n\r\n clearMoveEnd() {\r\n const map = this.map;\r\n if (map && this.moveEnd) {\r\n map.un('moveend', this.moveEnd);\r\n this.moveEnd = null;\r\n }\r\n }\r\n\r\n destroy() {\r\n this.clearMoveEnd();\r\n this.clearAlarmBg();\r\n }\r\n}\r\n\r\nexport default FeatureLayer;\r\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;AAAkC,IAAAa,SAAA;EAAAC,UAAA;EAAAC,UAAA;AAAA,SAAAX,uBAAAY,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,mBAAAC,GAAA,WAAAC,kBAAA,CAAAD,GAAA,KAAAE,gBAAA,CAAAF,GAAA,KAAAG,2BAAA,CAAAH,GAAA,KAAAI,kBAAA;AAAA,SAAAA,mBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAG,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAE,iBAAA,CAAAF,CAAA,EAAAC,MAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,CAAAC,QAAA,CAAAC,IAAA,CAAAP,CAAA,EAAAQ,KAAA,aAAAL,CAAA,iBAAAH,CAAA,CAAAS,WAAA,EAAAN,CAAA,GAAAH,CAAA,CAAAS,WAAA,CAAAC,IAAA,MAAAP,CAAA,cAAAA,CAAA,mBAAAQ,KAAA,CAAAC,IAAA,CAAAZ,CAAA,OAAAG,CAAA,+DAAAU,IAAA,CAAAV,CAAA,UAAAD,iBAAA,CAAAF,CAAA,EAAAC,MAAA;AAAA,SAAAL,iBAAAkB,IAAA,eAAAC,MAAA,oBAAAD,IAAA,CAAAC,MAAA,CAAAC,QAAA,aAAAF,IAAA,+BAAAH,KAAA,CAAAC,IAAA,CAAAE,IAAA;AAAA,SAAAnB,mBAAAD,GAAA,QAAAiB,KAAA,CAAAM,OAAA,CAAAvB,GAAA,UAAAQ,iBAAA,CAAAR,GAAA;AAAA,SAAAQ,kBAAAR,GAAA,EAAAwB,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAxB,GAAA,CAAAyB,MAAA,EAAAD,GAAA,GAAAxB,GAAA,CAAAyB,MAAA,WAAAC,CAAA,MAAAC,IAAA,OAAAV,KAAA,CAAAO,GAAA,GAAAE,CAAA,GAAAF,GAAA,EAAAE,CAAA,IAAAC,IAAA,CAAAD,CAAA,IAAA1B,GAAA,CAAA0B,CAAA,UAAAC,IAAA;AAAA,SAAAC,QAAAtB,CAAA,sCAAAsB,OAAA,wBAAAP,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAhB,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAe,MAAA,IAAAf,CAAA,CAAAS,WAAA,KAAAM,MAAA,IAAAf,CAAA,KAAAe,MAAA,CAAAV,SAAA,qBAAAL,CAAA,KAAAsB,OAAA,CAAAtB,CAAA;AAAA,SAAAuB,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAtB,MAAA,CAAAuB,IAAA,CAAAH,CAAA,OAAApB,MAAA,CAAAwB,qBAAA,QAAA5B,CAAA,GAAAI,MAAA,CAAAwB,qBAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAzB,CAAA,GAAAA,CAAA,CAAA6B,MAAA,WAAAJ,CAAA,WAAArB,MAAA,CAAA0B,wBAAA,CAAAN,CAAA,EAAAC,CAAA,EAAAM,UAAA,OAAAL,CAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,CAAA,EAAA1B,CAAA,YAAA0B,CAAA;AAAA,SAAAQ,cAAAV,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAU,SAAA,CAAAhB,MAAA,EAAAM,CAAA,UAAAC,CAAA,WAAAS,SAAA,CAAAV,CAAA,IAAAU,SAAA,CAAAV,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAnB,MAAA,CAAAsB,CAAA,OAAAU,OAAA,WAAAX,CAAA,IAAAY,eAAA,CAAAb,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAArB,MAAA,CAAAkC,yBAAA,GAAAlC,MAAA,CAAAmC,gBAAA,CAAAf,CAAA,EAAApB,MAAA,CAAAkC,yBAAA,CAAAZ,CAAA,KAAAH,OAAA,CAAAnB,MAAA,CAAAsB,CAAA,GAAAU,OAAA,WAAAX,CAAA,IAAArB,MAAA,CAAAoC,cAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAArB,MAAA,CAAA0B,wBAAA,CAAAJ,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAiB,yBAAAC,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,GAAAC,6BAAA,CAAAH,MAAA,EAAAC,QAAA,OAAAG,GAAA,EAAA1B,CAAA,MAAAhB,MAAA,CAAAwB,qBAAA,QAAAmB,gBAAA,GAAA3C,MAAA,CAAAwB,qBAAA,CAAAc,MAAA,QAAAtB,CAAA,MAAAA,CAAA,GAAA2B,gBAAA,CAAA5B,MAAA,EAAAC,CAAA,MAAA0B,GAAA,GAAAC,gBAAA,CAAA3B,CAAA,OAAAuB,QAAA,CAAAK,OAAA,CAAAF,GAAA,uBAAA1C,MAAA,CAAAC,SAAA,CAAA4C,oBAAA,CAAA1C,IAAA,CAAAmC,MAAA,EAAAI,GAAA,aAAAF,MAAA,CAAAE,GAAA,IAAAJ,MAAA,CAAAI,GAAA,cAAAF,MAAA;AAAA,SAAAC,8BAAAH,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,WAAAM,UAAA,GAAA9C,MAAA,CAAAuB,IAAA,CAAAe,MAAA,OAAAI,GAAA,EAAA1B,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAA8B,UAAA,CAAA/B,MAAA,EAAAC,CAAA,MAAA0B,GAAA,GAAAI,UAAA,CAAA9B,CAAA,OAAAuB,QAAA,CAAAK,OAAA,CAAAF,GAAA,kBAAAF,MAAA,CAAAE,GAAA,IAAAJ,MAAA,CAAAI,GAAA,YAAAF,MAAA;AAAA,SAAAO,gBAAAC,QAAA,EAAAC,WAAA,UAAAD,QAAA,YAAAC,WAAA,eAAAtD,SAAA;AAAA,SAAAuD,kBAAAV,MAAA,EAAAW,KAAA,aAAAnC,CAAA,MAAAA,CAAA,GAAAmC,KAAA,CAAApC,MAAA,EAAAC,CAAA,UAAAoC,UAAA,GAAAD,KAAA,CAAAnC,CAAA,GAAAoC,UAAA,CAAAzB,UAAA,GAAAyB,UAAA,CAAAzB,UAAA,WAAAyB,UAAA,CAAAC,YAAA,wBAAAD,UAAA,EAAAA,UAAA,CAAAE,QAAA,SAAAtD,MAAA,CAAAoC,cAAA,CAAAI,MAAA,EAAAe,cAAA,CAAAH,UAAA,CAAAV,GAAA,GAAAU,UAAA;AAAA,SAAAI,aAAAP,WAAA,EAAAQ,UAAA,EAAAC,WAAA,QAAAD,UAAA,EAAAP,iBAAA,CAAAD,WAAA,CAAAhD,SAAA,EAAAwD,UAAA,OAAAC,WAAA,EAAAR,iBAAA,CAAAD,WAAA,EAAAS,WAAA,GAAA1D,MAAA,CAAAoC,cAAA,CAAAa,WAAA,iBAAAK,QAAA,mBAAAL,WAAA;AAAA,SAAAU,KAAA,eAAAC,OAAA,oBAAAA,OAAA,CAAAC,GAAA,IAAAF,IAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,IAAA,aAAAH,IAAA,YAAAA,KAAAnB,MAAA,EAAAuB,QAAA,EAAAC,QAAA,QAAAC,IAAA,GAAAC,cAAA,CAAA1B,MAAA,EAAAuB,QAAA,QAAAE,IAAA,cAAAE,IAAA,GAAAnE,MAAA,CAAA0B,wBAAA,CAAAuC,IAAA,EAAAF,QAAA,OAAAI,IAAA,CAAAN,GAAA,WAAAM,IAAA,CAAAN,GAAA,CAAA1D,IAAA,CAAA4B,SAAA,CAAAhB,MAAA,OAAAyB,MAAA,GAAAwB,QAAA,YAAAG,IAAA,CAAAC,KAAA,cAAAT,IAAA,CAAA9B,KAAA,OAAAE,SAAA;AAAA,SAAAsC,UAAAC,QAAA,EAAAC,UAAA,eAAAA,UAAA,mBAAAA,UAAA,uBAAA5E,SAAA,0DAAA2E,QAAA,CAAArE,SAAA,GAAAD,MAAA,CAAAwE,MAAA,CAAAD,UAAA,IAAAA,UAAA,CAAAtE,SAAA,IAAAI,WAAA,IAAA+D,KAAA,EAAAE,QAAA,EAAAhB,QAAA,QAAAD,YAAA,aAAArD,MAAA,CAAAoC,cAAA,CAAAkC,QAAA,iBAAAhB,QAAA,gBAAAiB,UAAA,EAAAE,eAAA,CAAAH,QAAA,EAAAC,UAAA;AAAA,SAAAE,gBAAA7E,CAAA,EAAA8E,CAAA,IAAAD,eAAA,GAAAzE,MAAA,CAAA2E,cAAA,GAAA3E,MAAA,CAAA2E,cAAA,CAAAb,IAAA,cAAAW,gBAAA7E,CAAA,EAAA8E,CAAA,IAAA9E,CAAA,CAAAgF,SAAA,GAAAF,CAAA,SAAA9E,CAAA,YAAA6E,eAAA,CAAA7E,CAAA,EAAA8E,CAAA;AAAA,SAAAG,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,GAAAC,eAAA,CAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,GAAAF,eAAA,OAAA9E,WAAA,EAAA+E,MAAA,GAAAxB,OAAA,CAAA0B,SAAA,CAAAJ,KAAA,EAAAnD,SAAA,EAAAsD,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAArD,KAAA,OAAAE,SAAA,YAAAwD,0BAAA,OAAAH,MAAA;AAAA,SAAAG,2BAAAC,IAAA,EAAArF,IAAA,QAAAA,IAAA,KAAAe,OAAA,CAAAf,IAAA,yBAAAA,IAAA,2BAAAA,IAAA,aAAAA,IAAA,yBAAAR,SAAA,uEAAA8F,sBAAA,CAAAD,IAAA;AAAA,SAAAC,uBAAAD,IAAA,QAAAA,IAAA,yBAAAE,cAAA,wEAAAF,IAAA;AAAA,SAAAR,0BAAA,eAAApB,OAAA,qBAAAA,OAAA,CAAA0B,SAAA,oBAAA1B,OAAA,CAAA0B,SAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAA5F,SAAA,CAAA6F,OAAA,CAAA3F,IAAA,CAAAyD,OAAA,CAAA0B,SAAA,CAAAO,OAAA,8CAAAzE,CAAA;AAAA,SAAA2E,IAAAvD,MAAA,EAAAuB,QAAA,EAAAK,KAAA,EAAAJ,QAAA,eAAAJ,OAAA,oBAAAA,OAAA,CAAAmC,GAAA,IAAAA,GAAA,GAAAnC,OAAA,CAAAmC,GAAA,WAAAA,GAAA,YAAAA,IAAAvD,MAAA,EAAAuB,QAAA,EAAAK,KAAA,EAAAJ,QAAA,QAAAC,IAAA,GAAAC,cAAA,CAAA1B,MAAA,EAAAuB,QAAA,OAAAI,IAAA,MAAAF,IAAA,IAAAE,IAAA,GAAAnE,MAAA,CAAA0B,wBAAA,CAAAuC,IAAA,EAAAF,QAAA,OAAAI,IAAA,CAAA4B,GAAA,IAAA5B,IAAA,CAAA4B,GAAA,CAAA5F,IAAA,CAAA6D,QAAA,EAAAI,KAAA,4BAAAD,IAAA,CAAAb,QAAA,sBAAAa,IAAA,GAAAnE,MAAA,CAAA0B,wBAAA,CAAAsC,QAAA,EAAAD,QAAA,OAAAI,IAAA,SAAAA,IAAA,CAAAb,QAAA,oBAAAa,IAAA,CAAAC,KAAA,GAAAA,KAAA,EAAApE,MAAA,CAAAoC,cAAA,CAAA4B,QAAA,EAAAD,QAAA,EAAAI,IAAA,YAAAlC,eAAA,CAAA+B,QAAA,EAAAD,QAAA,EAAAK,KAAA,8BAAA2B,GAAA,CAAAvD,MAAA,EAAAuB,QAAA,EAAAK,KAAA,EAAAJ,QAAA;AAAA,SAAAgC,KAAAxD,MAAA,EAAAuB,QAAA,EAAAK,KAAA,EAAAJ,QAAA,EAAAiC,QAAA,QAAAC,CAAA,GAAAH,GAAA,CAAAvD,MAAA,EAAAuB,QAAA,EAAAK,KAAA,EAAAJ,QAAA,IAAAxB,MAAA,QAAA0D,CAAA,IAAAD,QAAA,cAAAtG,SAAA,qCAAAyE,KAAA;AAAA,SAAAF,eAAAiC,MAAA,EAAApC,QAAA,YAAA/D,MAAA,CAAAC,SAAA,CAAAmG,cAAA,CAAAjG,IAAA,CAAAgG,MAAA,EAAApC,QAAA,KAAAoC,MAAA,GAAAhB,eAAA,CAAAgB,MAAA,OAAAA,MAAA,2BAAAA,MAAA;AAAA,SAAAhB,gBAAAvF,CAAA,IAAAuF,eAAA,GAAAnF,MAAA,CAAA2E,cAAA,GAAA3E,MAAA,CAAAqG,cAAA,CAAAvC,IAAA,cAAAqB,gBAAAvF,CAAA,WAAAA,CAAA,CAAAgF,SAAA,IAAA5E,MAAA,CAAAqG,cAAA,CAAAzG,CAAA,aAAAuF,eAAA,CAAAvF,CAAA;AAAA,SAAAqC,gBAAA9C,GAAA,EAAAuD,GAAA,EAAA0B,KAAA,IAAA1B,GAAA,GAAAa,cAAA,CAAAb,GAAA,OAAAA,GAAA,IAAAvD,GAAA,IAAAa,MAAA,CAAAoC,cAAA,CAAAjD,GAAA,EAAAuD,GAAA,IAAA0B,KAAA,EAAAA,KAAA,EAAAzC,UAAA,QAAA0B,YAAA,QAAAC,QAAA,oBAAAnE,GAAA,CAAAuD,GAAA,IAAA0B,KAAA,WAAAjF,GAAA;AAAA,SAAAoE,eAAA+C,GAAA,QAAA5D,GAAA,GAAA6D,YAAA,CAAAD,GAAA,oBAAApF,OAAA,CAAAwB,GAAA,iBAAAA,GAAA,GAAA8D,MAAA,CAAA9D,GAAA;AAAA,SAAA6D,aAAAE,KAAA,EAAAC,IAAA,QAAAxF,OAAA,CAAAuF,KAAA,kBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAA9F,MAAA,CAAAiG,WAAA,OAAAD,IAAA,KAAAE,SAAA,QAAAC,GAAA,GAAAH,IAAA,CAAAxG,IAAA,CAAAsG,KAAA,EAAAC,IAAA,oBAAAxF,OAAA,CAAA4F,GAAA,uBAAAA,GAAA,YAAAnH,SAAA,4DAAA+G,IAAA,gBAAAF,MAAA,GAAAO,MAAA,EAAAN,KAAA;AAElC,IAAMO,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,CAAC7F,MAAM,CAACwF,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;EAAApE,SAAA,CAAAmE,YAAA,EAAAC,OAAA;EAAA,IAAAC,MAAA,GAAA7D,YAAA,CAAA2D,YAAA;EACd,SAAAA,aAAYG,QAAO,EAAE;IAAA,IAAAC,UAAA,EAAAC,MAAA;IAAA9F,eAAA,OAAAyF,YAAA;IACjB,IACIM,GAAG,GA6BHH,QAAO,CA7BPG,GAAG;MACHC,MAAM,GA4BNJ,QAAO,CA5BPI,MAAM;MACNC,IAAI,GA2BJL,QAAO,CA3BPK,IAAI;MACJC,SAAS,GA0BTN,QAAO,CA1BPM,SAAS;MACTC,QAAQ,GAyBRP,QAAO,CAzBPO,QAAQ;MACRC,aAAa,GAwBbR,QAAO,CAxBPQ,aAAa;MACbzG,GAAG,GAuBHiG,QAAO,CAvBPjG,GAAG;MACHpC,IAAI,GAsBJqI,QAAO,CAtBPrI,IAAI;MACJ8I,KAAK,GAqBLT,QAAO,CArBPS,KAAK;MACLC,WAAU,GAoBVV,QAAO,CApBPU,UAAU;MACVC,KAAK,GAmBLX,QAAO,CAnBPW,KAAK;MACLC,OAAO,GAkBPZ,QAAO,CAlBPY,OAAO;MACPC,QAAQ,GAiBRb,QAAO,CAjBPa,QAAQ;MACRC,WAAW,GAgBXd,QAAO,CAhBPc,WAAW;MACXC,MAAM,GAeNf,QAAO,CAfPe,MAAM;MACNC,YAAY,GAcZhB,QAAO,CAdPgB,YAAY;MACZC,IAAI,GAaJjB,QAAO,CAbPiB,IAAI;MACJnC,OAAK,GAYLkB,QAAO,CAZPlB,KAAK;MACLoC,KAAK,GAWLlB,QAAO,CAXPkB,KAAK;MACLC,WAAW,GAUXnB,QAAO,CAVPmB,WAAW;MACXC,YAAY,GASZpB,QAAO,CATPoB,YAAY;MACZC,MAAM,GAQNrB,QAAO,CARPqB,MAAM;MACNC,QAAQ,GAORtB,QAAO,CAPPsB,QAAQ;MACRC,OAAO,GAMPvB,QAAO,CANPuB,OAAO;MACPC,UAAU,GAKVxB,QAAO,CALPwB,UAAU;MACVjD,GAAG,GAIHyB,QAAO,CAJPzB,GAAG;MACHkD,WAAW,GAGXzB,QAAO,CAHPyB,WAAW;MACXjD,OAAO,GAEPwB,QAAO,CAFPxB,OAAO;MACJkD,KAAK,GAAAhI,wBAAA,CACRsG,QAAO,EAAA3J,SAAA;IAEX,IAAMmE,KAAK,GAAArB,aAAA,KACJuI,KAAK,CACX;IACDlH,KAAK,CAACb,MAAM,GACRa,KAAK,CAACb,MAAM,IACZ,IAAIgI,cAAY,CAAAxI,aAAA;MACZoH,QAAQ,EAARA;IAAQ,GACLC,aAAa,CACnB,CAAC;IAEN,IAAIoB,WAAW,GAAGX,IAAI;IACtB,IAAIC,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE9I,MAAM,EAAE;MACfwJ,WAAW,GAAG,KAAK;MAEnB,IAAIX,IAAI,EAAE;QACNC,KAAK,CAAC3C,GAAG,CAAC,UAAAsD,CAAC,EAAI;UACX,IAAIA,CAAC,CAACZ,IAAI,EAAE;YACRW,WAAW,GAAG,IAAI;UACtB;;UAEA;UACAC,CAAC,CAAC/I,MAAM,GAAG,IAAAgJ,uBAAW,EAACD,CAAC,CAAC/I,MAAM,CAAC;QACpC,CAAC,CAAC;MACN;IACJ;IAEAoH,MAAA,GAAAH,MAAA,CAAAvI,IAAA,OAAMgD,KAAK;IAAElB,eAAA,CAAAwD,sBAAA,CAAAoD,MAAA,0BAgLK,UAAC6B,IAAI,EAAE/B,OAAO,EAAK;MACrC,IAAAgC,IAAA,GACIhC,OAAO,IAAIzH,OAAA,CAAOyH,OAAO,MAAK,QAAQ,GAAGA,OAAO,GAAG,CAAC,CAAC;QADjDiC,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,GAAA3I,wBAAA,CAAAsI,IAAA,EAAA1L,UAAA;MAE/E,IAAMwI,KAAK,GAAA3F,aAAA;QACPmJ,IAAI,EAAEzE,MAAM,CAACkE,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;IAAAxF,eAAA,CAAAwD,sBAAA,CAAAoD,MAAA,oBAEe,UAAC5B,OAAO,EAAE2D,KAAK,EAAK;MAChC,IAAMvB,UAAU,GAAKR,MAAA,CAAKkD,QAAQ,CAA5B1C,UAAU;;MAEhB;MACA,IAAIpC,OAAO,CAAC+E,SAAS,EAAE;QAAA,IAAAC,YAAA;QACnB,IAAMvB,IAAI,GAAG,EAAAuB,YAAA,GAAAhF,OAAO,CAACpD,GAAG,CAAC,UAAU,CAAC,cAAAoI,YAAA,uBAAvBA,YAAA,CAAyBlL,MAAM,KAAI,CAAC;QACjD,IAAI2J,IAAI,KAAK,CAAC,EAAE;UACZ;QACJ;MACJ;MACA,IAAIrB,UAAU,EAAE;QACZ,OAAO,IAAIyC,YAAI,CAAC;UACZb,IAAI,EAAEhE,OAAO,CAACM,OAAO,CAAC8B,UAAU,CAAC,IAAI,GAAG;UACxC6B,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;IA9OGzF,IAAA,EAAA4C,UAAA,GAAAnD,sBAAA,CAAAoD,MAAA,GAAA1D,eAAA,CAAAqD,YAAA,CAAAvI,SAAA,YAAa2J,IAAI,EAAAhB,UAAA;IACjB;IACAC,MAAA,CAAKkD,QAAQ,GAAGpD,QAAO;;IAEvB;IACAE,MAAA,CAAK3B,GAAG,GAAGA,GAAG;;IAEd;IACA2B,MAAA,CAAKC,GAAG,GAAGA,GAAG;;IAEd;IACAD,MAAA,CAAKa,MAAM,GAAGA,MAAM;;IAEpB;IACAb,MAAA,CAAKE,MAAM,GAAGA,MAAM;;IAEpB;IACAF,MAAA,CAAKnG,GAAG,GAAGA,GAAG;;IAEd;IACAmG,MAAA,CAAKvI,IAAI,GAAGA,IAAI;;IAEhB;IACAuI,MAAA,CAAKO,KAAK,GAAGA,KAAK;;IAElB;IACAP,MAAA,CAAKQ,UAAU,GAAGA,WAAU;;IAE5B;IACAR,MAAA,CAAKU,OAAO,GAAGA,OAAO;;IAEtB;IACAV,MAAA,CAAKqD,QAAQ,GAAG,CAAA3C,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE2C,QAAQ,KAAI,EAAE;;IAEvC;IACArD,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,CAAKpB,KAAK,GAAGA,OAAK;;IAElB;IACAoB,MAAA,CAAKG,IAAI,GAAGA,IAAI;;IAEhB;IACAH,MAAA,CAAKI,SAAS,GAAGA,SAAS,IAAI,cAAc;;IAE5C;IACAJ,MAAA,CAAKoB,QAAQ,GAAGA,QAAQ;;IAExB;IACApB,MAAA,CAAKsD,MAAM,GAAG,KAAK;;IAEnB;IACAtD,MAAA,CAAKqB,OAAO,GAAGA,OAAO;;IAEtB;IACArB,MAAA,CAAKuB,WAAW,GAAGA,WAAW;;IAE9B;IACA,IAAIjD,OAAO,EAAE;MACT0B,MAAA,CAAK1B,OAAO,GAAG,CAAC5G,KAAK,CAACM,OAAO,CAACsG,OAAO,CAAC,GAAGA,OAAO,GAAG,CAACA,OAAO,CAAC,EAAED,GAAG,CAAC,UAAAkF,IAAI,EAAI;QACtE,IAAM3K,MAAM,GAAY2K,IAAI,CAAtB3K,MAAM;UAAEgG,KAAK,GAAK2E,IAAI,CAAd3E,KAAK;QACnBhG,MAAM,GAAG,IAAAgJ,uBAAW,EAAChJ,MAAM,CAAC;QAC5B,IAAIgG,KAAK,EAAE;UACPA,KAAK,GAAG2E,IAAI,CAAC3E,KAAK,IAAIvG,OAAA,CAAOkL,IAAI,CAAC3E,KAAK,MAAK,QAAQ,GAAGA,KAAK,GAAG;YAAEmD,KAAK,EAAEnD;UAAM,CAAC;UAC/EA,KAAK,GAAG,IAAA4E,6BAAiB,EAAC5E,KAAK,CAAC;QACpC;QACA,OAAA3F,aAAA,CAAAA,aAAA,KACOsK,IAAI;UACP3K,MAAM,EAANA,MAAM;UACNgG,KAAK,EAALA;QAAK;MAEb,CAAC,CAAC;IACN;;IAEA;IACAoB,MAAA,CAAKyD,SAAS,GAAG,EAAE;;IAEnB;IACA,IAAI/B,WAAW,EAAE;MACb1B,MAAA,CAAK0D,IAAI,CAAC,CAAC;IACf;IAAC,OAAA1D,MAAA;EACL;;EAEA;EAAArF,YAAA,CAAAgF,YAAA;IAAA9F,GAAA;IAAA0B,KAAA,EACA,SAAAmI,KAAA,EAAO;MACH;MACA,IAAI,IAAI,CAACzD,GAAG,EAAE;QACV;QACA,IAAI,CAAC0D,WAAW,CAAC,IAAI,CAAC1D,GAAG,EAAE,IAAI,CAACC,MAAM,EAAE,IAAI,CAACW,MAAM,CAAC;MACxD;;MAEA;MACA,IAAI,IAAI,CAACV,IAAI,EAAE;QACX;QACA,IAAI,CAACyD,QAAQ,CAAC,IAAI,CAACzD,IAAI,CAAC;MAC5B;MAEA,IAAI,CAACmD,MAAM,GAAG,IAAI;IACtB;;IAEA;EAAA;IAAAzJ,GAAA;IAAAmB,GAAA,EACA,SAAAA,IAAA,EAAW;MACP,OAAAF,IAAA,CAAAwB,eAAA,CAAAqD,YAAA,CAAAvI,SAAA;IACJ,CAAC;IAAA8F,GAAA,EAED,SAAAA,IAAS3B,KAAK,EAAE;MACZ,IAAI,CAACsI,UAAU,CAACtI,KAAK,CAAC;IAC1B;EAAC;IAAA1B,GAAA;IAAAqD,GAAA,EAED,SAAAA,IAAU4G,GAAG,EAAE;MACX,IAAI,CAACZ,QAAQ,CAAC3C,KAAK,GAAGuD,GAAG;MACzB,IAAI,CAACC,QAAQ,CAAC,IAAI,CAACC,cAAc,CAAC,CAAC,CAAC;IACxC;EAAC;IAAAnK,GAAA;IAAAqD,GAAA,EAED,SAAAA,IAAU4G,GAAG,EAAE;MACX,IAAI,CAACZ,QAAQ,CAACzC,KAAK,GAAGqD,GAAG;MACzB,IAAI,CAACC,QAAQ,CAAC,IAAI,CAACC,cAAc,CAAC,CAAC,CAAC;IACxC;EAAC;IAAAnK,GAAA;IAAAqD,GAAA,EAED,SAAAA,IAAY4G,GAAG,EAAE;MACb,IAAI,CAACG,cAAc,CAACH,GAAG,CAAC;IAC5B;EAAC;IAAAjK,GAAA;IAAA0B,KAAA,EAED,SAAA2I,QAAQ3I,KAAK,EAAE;MACX,IAAI,CAACwF,IAAI,GAAGxF,KAAK;MACjB,IAAI,CAACsI,UAAU,CAACtI,KAAK,CAAC;IAC1B;EAAC;IAAA1B,GAAA;IAAA0B,KAAA,EAED,SAAA0I,eAAeH,GAAG,EAAE;MAAA,IAAAK,MAAA;MAChB,IAAAC,KAAA,GAAe,IAAAC,oBAAQ,EAACP,GAAG,CAAC,GAAGA,GAAG,GAAG;UAAE/C,IAAI,EAAE+C;QAAI,CAAC;QAA3C/C,IAAI,GAAAqD,KAAA,CAAJrD,IAAI;MACX,IAAI,CAACuD,gBAAgB,CAACR,GAAG,CAAC;MAC1B,IAAI,CAACC,QAAQ,CAAC,IAAI,CAACC,cAAc,CAAC,CAAC,CAAC;MAEpC,IAAI,IAAI,CAAC3F,GAAG,IAAI0C,IAAI,EAAE;QAClB,IAAM1C,GAAG,GAAG,IAAI,CAACA,GAAG;QACpB,IAAI,CAACkG,OAAO,CAAC,CAAC;;QAEd;QACA,IAAIC,OAAO,GAAGnG,GAAG,CAACoG,OAAO,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;QACrC,IAAI,CAACC,OAAO,GAAGtG,GAAG,CAACuG,EAAE,CAAC,SAAS,EAAE,YAAM;UACnC,IAAMC,IAAI,GAAGxG,GAAG,CAACoG,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,CAACjB,QAAQ,CAACxC,OAAO,cAAAoE,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;IAAAjK,GAAA;IAAA0B,KAAA,EAmED,SAAAyI,eAAA,EAAiB;MAAA,IAAAgB,MAAA;MACb,OAAO,UAAC5G,OAAO,EAAE6G,UAAU,EAAK;QAAA,IAAAC,YAAA;QAC5B,IAAAC,eAAA,GAAqCH,MAAI,CAAC9B,QAAQ;UAA5CtE,KAAK,GAAAuG,eAAA,CAALvG,KAAK;UAAE8B,OAAO,GAAAyE,eAAA,CAAPzE,OAAO;UAAE0E,UAAU,GAAAD,eAAA,CAAVC,UAAU;QAChC,IAAIrE,IAAI,GAAG,IAAI;QAEf,CAAAmE,YAAA,GAAAF,MAAI,CAAChE,KAAK,cAAAkE,YAAA,eAAVA,YAAA,CAAY7G,GAAG,CAAC,UAAAI,CAAC,EAAI;UAAA,IAAA4G,SAAA;UACjB,IAAI5G,CAAC,aAADA,CAAC,gBAAA4G,SAAA,GAAD5G,CAAC,CAAE7F,MAAM,cAAAyM,SAAA,eAATA,SAAA,CAAA/N,IAAA,CAAAmH,CAAC,EAAWL,OAAO,CAACM,OAAO,CAAC,EAAE;YAC9BE,KAAK,GAAGH,CAAC,CAACG,KAAK,IAAIA,KAAK;YACxB,IAAIH,CAAC,CAAClB,cAAc,CAAC,MAAM,CAAC,IAAI,CAACkB,CAAC,CAACsC,IAAI,EAAE;cACrCA,IAAI,GAAG,KAAK;YAChB;UACJ;QACJ,CAAC,CAAC;QACF3C,OAAO,CAAC2C,IAAI,GAAGA,IAAI;QAEnB,IAAI,CAACA,IAAI,EAAE;UACP,OAAO,IAAI;QACf;QAEA,IAAMuE,MAAM,GAAG,EAAE;QAEjB,IAAIF,UAAU,EAAE;UACZ,IAAI,IAAAG,sBAAU,EAACH,UAAU,CAAC,EAAE;YACxB,IAAMI,OAAO,GAAGJ,UAAU,CAAChH,OAAO,EAAE6G,UAAU,CAAC;YAC/C,IAAIO,OAAO,EAAE;cACT,IAAI9N,KAAK,CAACM,OAAO,CAACsN,MAAM,CAAC,EAAE;gBACvBA,MAAM,CAACvM,IAAI,CAAAC,KAAA,CAAXsM,MAAM,EAAA9O,kBAAA,CAASgP,OAAO,EAAC;cAC3B,CAAC,MAAM;gBACHF,MAAM,CAACvM,IAAI,CAACyM,OAAO,CAAC;cACxB;YACJ;UACJ;QACJ;QAEA,IAAI5G,KAAK,EAAE;UACP,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAK,IAAA2G,sBAAU,EAAC3G,KAAK,CAAC,IAAI8B,OAAQ,EAAE;YAC7D4E,MAAM,CAACvM,IAAI,CAAC,IAAI0M,oBAAQ,CAACC,MAAM,CAAAzM,aAAA,KAAM+L,MAAI,CAACW,gBAAgB,CAACvH,OAAO,EAAEQ,KAAK,CAAC,CAAE,CAAC,CAAC;YAC9E,OAAO0G,MAAM;UACjB,CAAC,MAAM,IAAI1G,KAAK,YAAYgH,aAAK,EAAE;YAC/B;YACAN,MAAM,CAACvM,IAAI,CAAC6F,KAAK,CAAC;YAClB,OAAO0G,MAAM;UACjB,CAAC,MAAM,IAAI,IAAAC,sBAAU,EAAC3G,KAAK,CAAC,EAAE;YAC1B;;YAEA,IAAIiH,MAAM,GAAGjH,KAAK,CAACR,OAAO,CAAC;YAC3B,IAAIyH,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEC,IAAI,IAAID,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEjH,KAAK,EAAE;cAC/B,IAAMkB,OAAO,GAAGkF,MAAI,CAACe,cAAc,CAAC3H,OAAO,EAAEyH,MAAM,CAAC;cACpDP,MAAM,CAACvM,IAAI,CAAC0M,oBAAQ,CAACO,MAAM,CAAClG,OAAO,CAAC,CAAC;cACrC,OAAOwF,MAAM;YACjB;YAEAA,MAAM,CAACvM,IAAI,CAAC8M,MAAM,CAAC;YACnB,OAAOP,MAAM;UACjB,CAAC,MAAM,IAAI,IAAAjB,oBAAQ,EAACzF,KAAK,CAAC,EAAE;YACxB,IAAAqH,OAAA,GAAerH,KAAK;cAAdsH,IAAI,GAAAD,OAAA,CAAJC,IAAI;YACV,IAAIA,IAAI,EAAE;cACN,IAAIA,IAAI,KAAK,QAAQ,EAAE;gBACnB,IAAMpG,SAAO,GAAGkF,MAAI,CAACe,cAAc,CAAC3H,OAAO,EAAEQ,KAAK,CAACuH,MAAM,CAAC;gBAC1Db,MAAM,CAACvM,IAAI,CAAC0M,oBAAQ,CAACO,MAAM,CAAClG,SAAO,CAAC,CAAC;gBACrC,OAAOwF,MAAM;cACjB;cAEA,IAAIY,IAAI,KAAK,aAAa,EAAE;gBAAA,IAAAE,aAAA;gBACxB,IAAMvE,IAAI,GAAG,EAAAuE,aAAA,GAAAhI,OAAO,CAACpD,GAAG,CAAC,UAAU,CAAC,cAAAoL,aAAA,uBAAvBA,aAAA,CAAyBlO,MAAM,KAAI,CAAC;gBACjD,IAAI2J,IAAI,GAAG,CAAC,EAAE;kBACV,IAAM/B,SAAO,GAAGkF,MAAI,CAACe,cAAc,CAC/B3H,OAAO,EACPQ,KAAK,CAACuH,MAAM,CAACA,MAAM,CAAC,CAAC,CACzB,CAAC;kBACDb,MAAM,CAACvM,IAAI,CAAC0M,oBAAQ,CAACO,MAAM,CAAClG,SAAO,CAAC,CAAC;kBACrC,OAAOwF,MAAM;gBACjB;gBAEA,IAAMxF,SAAO,GAAGkF,MAAI,CAACqB,gBAAgB,CAACjI,OAAO,EAAEQ,KAAK,CAACuH,MAAM,CAAC;gBAC5Db,MAAM,CAACvM,IAAI,CAAC0M,oBAAQ,CAACa,WAAW,CAAClI,OAAO,EAAE0B,SAAO,CAAC,CAAC;gBACnD,OAAOwF,MAAM;cACjB;cAEA,IAAIY,IAAI,KAAK,aAAa,EAAE;gBAAA,IAAAK,aAAA;gBACxB,IAAM1E,KAAI,GAAG,EAAA0E,aAAA,GAAAnI,OAAO,CAACpD,GAAG,CAAC,UAAU,CAAC,cAAAuL,aAAA,uBAAvBA,aAAA,CAAyBrO,MAAM,KAAI,CAAC;gBACjD,IAAI2J,KAAI,GAAG,CAAC,EAAE;kBACV,IAAM/B,SAAO,GAAGkF,MAAI,CAACe,cAAc,CAC/B3H,OAAO,EACPQ,KAAK,CAACuH,MAAM,CAACA,MAAM,CAAC,CAAC,CACzB,CAAC;kBACDb,MAAM,CAACvM,IAAI,CAAC0M,oBAAQ,CAACO,MAAM,CAAClG,SAAO,CAAC,CAAC;kBACrC,OAAOwF,MAAM;gBACjB;gBAEA,IAAMxF,SAAO,GAAGkF,MAAI,CAACqB,gBAAgB,CAACjI,OAAO,EAAEQ,KAAK,CAACuH,MAAM,CAAC;gBAC5Db,MAAM,CAACvM,IAAI,CAAC0M,oBAAQ,CAACe,WAAW,CAACpI,OAAO,EAAE0B,SAAO,CAAC,CAAC;gBACnD,OAAOwF,MAAM;cACjB;YACJ,CAAC,MAAM,IAAI1G,KAAK,CAACA,KAAK,EAAE;cACpB,IAAMkB,SAAO,GAAGkF,MAAI,CAACe,cAAc,CAAC3H,OAAO,EAAEQ,KAAK,CAAC;cACnD0G,MAAM,CAACvM,IAAI,CAAC0M,oBAAQ,CAACO,MAAM,CAAClG,SAAO,CAAC,CAAC;cACrC,OAAOwF,MAAM;YACjB;UACJ;QACJ;QACAA,MAAM,CAACvM,IAAI,CACP,IAAI6M,aAAK,CAAC;UACNjH,KAAK,EAAE,IAAI8H,cAAM,CAAC;YACdC,MAAM,EAAE,CAAC;YACTpE,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;UACF4E,MAAM,EAAE,IAAI5D,cAAM,CAAC;YACfhB,KAAK,EAAE,SAAS;YAChBiB,KAAK,EAAE;UACX,CAAC;QACL,CAAC,CACL,CAAC;QACD,OAAOsC,MAAM;MACjB,CAAC;IACL;EAAC;IAAAzL,GAAA;IAAA0B,KAAA,EAED,SAAAwK,eAAe3H,OAAO,EAAEwI,OAAO,EAAE;MAAA,IAAAC,aAAA,EAAAC,cAAA;MAC7B,IAAMpG,OAAO,GAAK,IAAI,CAACwC,QAAQ,CAAzBxC,OAAO;MACb,IAAMyF,MAAM,GAAAlN,aAAA,KAAQ2N,OAAO,CAAE;MAC7B,IACIT,MAAM,CAACL,IAAI,KAAK,QAAQ,KACvBK,MAAM,aAANA,MAAM,gBAAAU,aAAA,GAANV,MAAM,CAAEvH,KAAK,cAAAiI,aAAA,eAAbA,aAAA,CAAeE,IAAI,IAAKrG,OAAO,IAAIyF,MAAM,aAANA,MAAM,gBAAAW,cAAA,GAANX,MAAM,CAAEvH,KAAK,cAAAkI,cAAA,eAAbA,cAAA,CAAenI,KAAM,CAAC,EAC5D;QACEwH,MAAM,CAACvH,KAAK,GAAA3F,aAAA,CAAAA,aAAA,KACLkN,MAAM,CAACvH,KAAK,GACZ,IAAI,CAAC+G,gBAAgB,CAACvH,OAAO,EAAE+H,MAAM,CAACvH,KAAK,CAAC,CAClD;MACL;MAEA,OAAOuH,MAAM;IACjB;EAAC;IAAAtM,GAAA;IAAA0B,KAAA,EAED,SAAA8K,iBAAiBjI,OAAO,EAAEwI,OAAO,EAAE;MAAA,IAAAI,cAAA;QAAAC,MAAA;MAC/B,IAAMd,MAAM,GAAAlN,aAAA,KAAQ2N,OAAO,CAAE;MAE7B,IAAIT,MAAM,aAANA,MAAM,gBAAAa,cAAA,GAANb,MAAM,CAAEA,MAAM,cAAAa,cAAA,eAAdA,cAAA,CAAgB9O,MAAM,EAAE;QACxBiO,MAAM,CAACA,MAAM,GAAGA,MAAM,CAACA,MAAM,CAAC9H,GAAG,CAAC,UAAAI,CAAC;UAAA,OAAIwI,MAAI,CAAClB,cAAc,CAAC3H,OAAO,EAAEK,CAAC,CAAC;QAAA,EAAC;MAC3E;MAEA,OAAO0H,MAAM;IACjB;EAAC;IAAAtM,GAAA;IAAA0B,KAAA,EAED,SAAAoK,iBAAiBvH,OAAO,EAAEQ,KAAK,EAAE;MAAA,IAAAsI,aAAA;MAC7B,IAAIH,IAAI,GAAG,CAAAnI,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEmI,IAAI,KAAInI,KAAK;MAC/B,IAAID,KAAK,GAAGC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAED,KAAK;MACxB,IAAIoD,KAAK,GAAG,CAAAnD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEmD,KAAK,KAAI,SAAS;MACrC,IAAAoF,cAAA,GAAgC,IAAI,CAACjE,QAAQ;QAAvCxC,OAAO,GAAAyG,cAAA,CAAPzG,OAAO;QAAED,KAAK,GAAA0G,cAAA,CAAL1G,KAAK;QAAEF,KAAK,GAAA4G,cAAA,CAAL5G,KAAK;;MAE3B;MACA,IAAI6G,KAAK,GAAG,IAAA7B,sBAAU,EAAC3G,KAAK,CAAC;MAC7B,IAAIuB,IAAI,GAAG,CAAC,CAAC;MACb,IAAIiH,KAAK,EAAE;QAAA,IAAAC,KAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA;QACPvH,IAAI,GAAGvB,KAAK,CAACR,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B2I,IAAI,GAAG,EAAAM,KAAA,GAAAlH,IAAI,cAAAkH,KAAA,gBAAAA,KAAA,GAAJA,KAAA,CAAMzI,KAAK,cAAAyI,KAAA,uBAAXA,KAAA,CAAaN,IAAI,OAAAO,MAAA,GAAInH,IAAI,cAAAmH,MAAA,uBAAJA,MAAA,CAAMP,IAAI,KAAIA,IAAI;QAC9ChF,KAAK,GAAG,EAAAwF,MAAA,GAAApH,IAAI,cAAAoH,MAAA,gBAAAA,MAAA,GAAJA,MAAA,CAAM3I,KAAK,cAAA2I,MAAA,uBAAXA,MAAA,CAAaxF,KAAK,OAAAyF,MAAA,GAAIrH,IAAI,cAAAqH,MAAA,uBAAJA,MAAA,CAAMzF,KAAK,KAAIA,KAAK;QAClDpD,KAAK,GAAG,EAAA8I,MAAA,GAAAtH,IAAI,cAAAsH,MAAA,gBAAAA,MAAA,GAAJA,MAAA,CAAM7I,KAAK,cAAA6I,MAAA,uBAAXA,MAAA,CAAa9I,KAAK,OAAA+I,MAAA,GAAIvH,IAAI,cAAAuH,MAAA,uBAAJA,MAAA,CAAM/I,KAAK,KAAIA,KAAK;MACtD;MAEA,IAAMkD,IAAI,GAAG,EAAAqF,aAAA,GAAA9I,OAAO,CAACpD,GAAG,CAAC,UAAU,CAAC,cAAAkM,aAAA,uBAAvBA,aAAA,CAAyBhP,MAAM,KAAI,CAAC;MAEjD,IAAIyP,CAAC,GAAG;QACJC,MAAM,EAAE;UACJ;UACAb,IAAI,EAAJA,IAAI;UACJpI,KAAK,EAALA;QACJ,CAAC;QACD8B,KAAK,EAAE;UACH;UACAsG,IAAI,EAAJA,IAAI;UACJjB,IAAI,EAAE;QACV,CAAC;QACD+B,cAAc,EAAA5O,aAAA;UACV;UACA8N,IAAI,EAAJA,IAAI;UACJhF,KAAK,EAAEF,IAAI,GAAG,CAAC,GAAG,EAAE,GAAGE,KAAK;UAC5Bd,WAAW,EACPY,IAAI,GAAG,CAAC,GAAA5I,aAAA;YAEE6O,UAAU,EAAE,IAAI;YAChBC,IAAI,EAAE;cAAE3F,IAAI,EAAE,EAAE;cAAE4F,QAAQ,EAAE;YAAG;UAAC,GAC5B,CAAAtH,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEO,WAAW,KAAI,CAAC,CAAC,IAElC,CAAC;QAAC,GACRY,IAAI,GAAG,CAAC,GAAGnB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE9B,KAAK,GAAG8B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEuH,WAAW,CACvD;QACDC,aAAa,EAAAjP,aAAA;UACT;UACA8N,IAAI,EAAJA,IAAI;UACJjB,IAAI,EAAE,WAAW;UACjB7E,WAAW,EACPY,IAAI,GAAG,CAAC,GACF;YACIO,IAAI,EAAEP;UACV,CAAC,GACD,CAAC;QAAC,GACRA,IAAI,GAAG,CAAC,KAAInB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE9B,KAAK;MAEtC,CAAC;MAED,IAAIkH,IAAI,GAAGrF,KAAK,GAAG,OAAO,GAAG,QAAQ;MAErC,IAAIC,OAAO,EAAE;QACT,IAAI,IAAA2D,oBAAQ,EAAC3D,OAAO,CAAC,EAAE;UACnB,IAAIA,OAAO,CAACK,IAAI,EAAE;YACd+E,IAAI,GAAG,gBAAgB;YACvB,IAAIrF,KAAK,EAAE;cACPqF,IAAI,GAAG,eAAe;YAC1B;UACJ;QACJ,CAAC,MAAM;UACHA,IAAI,GAAG,gBAAgB;UACvB,IAAIrF,KAAK,EAAE;YACPqF,IAAI,GAAG,eAAe;UAC1B;QACJ;MACJ;MAEA,IAAID,MAAM,GAAG8B,CAAC,CAAC7B,IAAI,CAAC;MAEpB,IAAIvF,KAAK,EAAE;QAAA,IAAA4H,YAAA;QACP,KAAAA,YAAA,GAAIhR,MAAM,CAACuB,IAAI,CAACyH,IAAI,CAAC,cAAAgI,YAAA,eAAjBA,YAAA,CAAmBC,QAAQ,CAAC,YAAY,CAAC,EAAE;UAAA,IAAAC,MAAA;UAC3CxC,MAAM,CAACzD,IAAI,IAAAiG,MAAA,GAAGlI,IAAI,cAAAkI,MAAA,uBAAJA,MAAA,CAAMC,UAAU;QAClC,CAAC,MAAM;UACHzC,MAAM,CAACzD,IAAI,GAAG,IAAI,CAACmG,aAAa,CAACnK,OAAO,EAAE2D,KAAK,CAAC;QACpD;MACJ;MAEA,IAAI3D,OAAO,CAAC+E,SAAS,IAAItB,IAAI,GAAG,CAAC,IAAIiE,IAAI,KAAK,gBAAgB,EAAE;QAC5DD,MAAM,CAACzD,IAAI,GAAG,IAAI,CAACoG,mBAAmB,CAAC3G,IAAI,CAAC;MAChD;MAEA,OAAOgE,MAAM;IACjB;EAAC;IAAAhM,GAAA;IAAA0B,KAAA,EAED,SAAA+I,iBAAiB5D,OAAO,EAAE;MAAA,IAAA+H,eAAA;QAAAC,MAAA;MACtB,IAAIC,KAAK,GAAG,IAAI;MAChBjI,OAAO,GAAG,IAAA2D,oBAAQ,EAAC3D,OAAO,CAAC,GAAGA,OAAO,GAAG;QAAEK,IAAI,EAAEL;MAAQ,CAAC;MACzD,IAAAkI,QAAA,GAA6ClI,OAAO;QAA9CK,IAAI,GAAA6H,QAAA,CAAJ7H,IAAI;QAAE8H,WAAW,GAAAD,QAAA,CAAXC,WAAW;QAAExF,QAAQ,GAAAuF,QAAA,CAARvF,QAAQ;QAAErC,KAAK,GAAA4H,QAAA,CAAL5H,KAAK;MACxC,IAAIvH,MAAM,GAAG,IAAIgI,cAAY,CAAC;QAC1BpB,QAAQ,GAAAoI,eAAA,GAAE,IAAI,CAAChF,SAAS,cAAAgF,eAAA,uBAAdA,eAAA,CAAgB7P,MAAM,CAAC,UAAA6F,CAAC;UAAA,OAAI,CAACA,CAAC,CAAClB,cAAc,CAAC,MAAM,CAAC,IAAIkB,CAAC,CAACsC,IAAI;QAAA;MAC7E,CAAC,CAAC;MACF,IAAIA,IAAI,EAAE;QACNC,KAAK,GAAGA,KAAK,IAAI,IAAI,CAACA,KAAK;QAC3B,IAAI8H,aAAa,GAAG,IAAIC,qBAAO,CAAA9P,aAAA;UAC3BoK,QAAQ,EAAEA,QAAQ,IAAI,GAAG;UACzBwF,WAAW,EAAEA,WAAW,IAAI,EAAE;UAC9BpP,MAAM,EAANA,MAAM;UACNuH,KAAK,EAALA,KAAK;UACLgI,aAAa,EAAE,SAAAA,cAAA3I,QAAQ,EAAI;YACvBqI,MAAI,CAACO,oBAAoB,CAAC5I,QAAQ,CAAC;UACvC,CAAC;UACD6I,aAAa,EAAE,SAAAA,cAACzI,KAAK,EAAEJ,QAAQ,EAAK;YAAA,IAAA8I,MAAA;YAChC,IAAI/K,OAAO,GAAG,IAAIgL,WAAO,CAAC;cACtBC,QAAQ,EAAE5I,KAAK;cACfJ,QAAQ,EAAEA,QAAQ,CAAChC,GAAG,CAAC,UAAAI,CAAC,EAAI;gBACxBA,CAAC,CAAC6K,QAAQ,GAAGX,KAAK,CAAC9O,GAAG;gBACtB,OAAO4E,CAAC;cACZ,CAAC;YACL,CAAC,CAAC;YAEF,KAAA0K,MAAA,GAAInI,KAAK,cAAAmI,MAAA,eAALA,MAAA,CAAOjR,MAAM,EAAE;cAAA,IAAAqR,OAAA;cACf,IAAI3K,KAAK;cACT,IAAM+C,CAAC,GAAGtB,QAAQ,CAAC,CAAC,CAAC;cACrB,IAAMwB,IAAI,GAAGxB,QAAQ,CAACnI,MAAM;cAC5B,CAAAqR,OAAA,GAAAvI,KAAK,cAAAuI,OAAA,eAALA,OAAA,CAAOlL,GAAG,CAAC,UAAAI,CAAC,EAAI;gBAAA,IAAA+K,UAAA;gBACZ,IAAI/K,CAAC,aAADA,CAAC,gBAAA+K,UAAA,GAAD/K,CAAC,CAAE7F,MAAM,cAAA4Q,UAAA,eAATA,UAAA,CAAAlS,IAAA,CAAAmH,CAAC,EAAWkD,CAAC,CAACjD,OAAO,CAAC,EAAE;kBACxBE,KAAK,GAAGH,CAAC,CAACG,KAAK,IAAIA,KAAK;gBAC5B;cACJ,CAAC,CAAC;cAEF,IAAI6K,WAAW,GAAAxQ,aAAA,KAAQ2F,KAAK,CAACA,KAAK,CAAE;cAEpC,IAAIiD,IAAI,GAAG,CAAC,EAAE;gBAAA,IAAA6H,OAAA,EAAAC,aAAA,EAAAC,SAAA;gBACV,KAAAF,OAAA,GAAI9K,KAAK,cAAA8K,OAAA,eAALA,OAAA,CAAOG,YAAY,EAAE;kBACrBJ,WAAW,GAAAxQ,aAAA,KAAQ2F,KAAK,CAACiL,YAAY,CAAE;gBAC3C;gBAEA,IAAAC,YAAA,GAAoDL,WAAW;kBAAvDM,WAAW,GAAAD,YAAA,CAAXC,WAAW;kBAAE9I,WAAW,GAAA6I,YAAA,CAAX7I,WAAW;kBAAKmE,UAAU,GAAA5L,wBAAA,CAAAsQ,YAAA,EAAAzT,UAAA;gBAC/CoT,WAAW,GAAAxQ,aAAA,CAAAA,aAAA,KACJmM,UAAU;kBACbhD,IAAI,EAAEsG,MAAI,CAACF,mBAAmB,CAC1B,CAAAmB,aAAA,GAAAF,WAAW,cAAAE,aAAA,eAAXA,aAAA,CAAahL,KAAK,GAAGkD,IAAI,GAAG,GAAG,EAC/BkI,WACJ,CAAC;kBACD9I,WAAW,EAAAhI,aAAA;oBACP6O,UAAU,EAAE,IAAI;oBAChBC,IAAI,EAAE;sBAAE3F,IAAI,EAAEP,IAAI;sBAAEmG,QAAQ,EAAE;oBAAG;kBAAC,GAC9B/G,WAAW,MAAA2I,SAAA,GAAIlJ,OAAO,cAAAkJ,SAAA,uBAAPA,SAAA,CAAS3I,WAAW,KAAI,CAAC,CAAC;gBAChD,EACJ;cACL;cAEA,IAAI4E,MAAM,GAAG,IAAIJ,oBAAQ,CAACC,MAAM,CAAC+D,WAAW,CAAC;cAC7CrL,OAAO,CAAC2F,QAAQ,CAAC8B,MAAM,CAAC;YAC5B;;YAEA;YACAzH,OAAO,CAAC+E,SAAS,GAAG,IAAI;YAExB,IAAI9C,QAAQ,CAACnI,MAAM,KAAK,CAAC,EAAE;cACvBkG,OAAO,CAAC4L,aAAa,CAAC3J,QAAQ,CAAC,CAAC,CAAC,CAAC3B,OAAO,CAAC;YAC9C;YAEA,OAAON,OAAO;UAClB;QAAC,GACEsC,OAAO,CACb,CAAC;QAEF,IAAI,CAACuJ,SAAS,CAACnB,aAAa,CAAC;MACjC,CAAC,MAAM;QACH,IAAI,CAACmB,SAAS,CAACxQ,MAAM,CAAC;MAC1B;IACJ;;IAEA;EAAA;IAAAI,GAAA;IAAA0B,KAAA,EACA,SAAA2O,aAAA,EAAe;MAAA,IAAAC,cAAA;QAAAC,MAAA;MACX,IAAI,IAAI,CAAC/L,GAAG,KAAA8L,cAAA,GAAI,IAAI,CAACE,QAAQ,cAAAF,cAAA,eAAbA,cAAA,CAAejS,MAAM,EAAE;QACnC,IAAI,CAACmS,QAAQ,CAAChM,GAAG,CAAC,UAAAc,OAAO;UAAA,OAAIiL,MAAI,CAAC/L,GAAG,CAACiM,aAAa,CAACnL,OAAO,CAAC;QAAA,EAAC;QAC7D,IAAI,CAACkL,QAAQ,GAAG,IAAI;MACxB;IACJ;;IAEA;EAAA;IAAAxQ,GAAA;IAAA0B,KAAA,EACA,SAAA0N,qBAAqB5I,QAAQ,EAAE;MAAA,IAAAkK,MAAA;MAC3B,IAAI,CAACL,YAAY,CAAC,CAAC;MACnB,IAAI,CAACG,QAAQ,GAAG,EAAE;MAElB,IAAI,IAAI,CAAChM,GAAG,IAAI,IAAI,CAACC,OAAO,IAAI+B,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEnI,MAAM,EAAE;QAC9CmI,QAAQ,CAAChC,GAAG,CAAC,UAAAD,OAAO,EAAI;UACpB,IAAIoM,QAAQ,GAAGpM,OAAO;UAEtB,IAAMsC,OAAO,GAAGtC,OAAO,CAACpD,GAAG,CAAC,UAAU,CAAC;UACvC,IAAI0F,OAAO,EAAE;YACT8J,QAAQ,GAAG9J,OAAO,CAACxI,MAAM,GAAG,CAAC,GAAGwI,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;UACrD;UAEA,IAAI8J,QAAQ,KAAKA,QAAQ,CAACjN,cAAc,CAAC,MAAM,CAAC,GAAGiN,QAAQ,CAACzJ,IAAI,GAAG,IAAI,CAAC,EAAE;YACtE,IAAI5B,OAAO,GAAGhB,UAAU,CAACqM,QAAQ,EAAED,MAAI,CAAClM,GAAG,EAAEkM,MAAI,CAACjM,OAAO,CAAC;YAC1D,IAAIa,OAAO,EAAE;cACToL,MAAI,CAACF,QAAQ,CAACtR,IAAI,CAACoG,OAAO,CAAC;YAC/B;UACJ;QACJ,CAAC,CAAC;MACN;IACJ;EAAC;IAAAtF,GAAA;IAAA0B,KAAA,EAED,SAAAkP,QAAA,EAAU;MAAA,IAAAC,MAAA;MACN,IAAAC,8CAAqB,EAAC;QAClB1K,GAAG,EAAE,IAAI,CAACA,GAAG;QACbC,MAAM,EAAE,IAAI,CAACA,MAAM;QACnBW,MAAM,EAAE,IAAI,CAACA,MAAM;QACnBK,YAAY,EAAE,IAAI,CAACA,YAAY;QAC/B0J,KAAK,EAAE,IAAI,CAACxK;MAChB,CAAC,CAAC,CAACyK,IAAI,CAAC,UAAAxK,QAAQ,EAAI;QAChB,IAAIA,QAAQ,EAAE;UACV,IAAIyK,YAAY,GAAGzK,QAAQ;UAC3BqK,MAAI,CAACjH,SAAS,GAAGqH,YAAY;UAE7B,IAAIC,WAAW,GAAG,EAAE;UACpBD,YAAY,CAACzM,GAAG,CAAC,UAAAI,CAAC,EAAI;YAClB,IAAIkD,CAAC,GAAG+I,MAAI,CAACM,sBAAsB,CAAC,IAAI,EAAEvM,CAAC,CAACC,OAAO,CAACuM,EAAE,CAAC;YACvD,IAAItJ,CAAC,EAAE;cACHA,CAAC,CAACjD,OAAO,GAAGD,CAAC,CAACC,OAAO;YACzB,CAAC,MAAM;cACHqM,WAAW,CAAChS,IAAI,CAAC0F,CAAC,CAAC;YACvB;UACJ,CAAC,CAAC;UAEF,IAAIsM,WAAW,CAAC7S,MAAM,EAAE;YACpBwS,MAAI,CAACQ,SAAS,CAAC,CAAC,CAACC,WAAW,CAACJ,WAAW,CAAC;YACzCL,MAAI,CAACzB,oBAAoB,CAACyB,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;IAAAxR,GAAA;IAAA0B,KAAA,EAED,SAAAqI,SAASzD,IAAI,EAAE;MACX,IAAI,CAAC+K,SAAS,CAAC,CAAC,CAACI,KAAK,CAAC,CAAC;MACxB,IAAIjL,QAAQ,GAAG,IAAAkL,sCAAa,EAACpL,IAAI,CAAC;MAClC,IAAI,CAAC+K,SAAS,CAAC,CAAC,CAACC,WAAW,CAAC9K,QAAQ,CAAC;MAEtC,IAAI,CAAC4I,oBAAoB,CAAC,IAAI,CAACiC,SAAS,CAAC,CAAC,CAACE,WAAW,CAAC,CAAC,CAAC;MAEzD,IAAI,CAAC3H,SAAS,GAAGpD,QAAQ;MACzB,IAAI,IAAI,CAAC6C,QAAQ,CAACxC,OAAO,EAAE;QACvB,IAAI,CAACuD,cAAc,CAAC,IAAI,CAACf,QAAQ,CAACxC,OAAO,CAAC;MAC9C;IACJ;EAAC;IAAA7G,GAAA;IAAA0B,KAAA,EAED,SAAAoI,YAAY1D,GAAG,EAAEC,MAAM,EAAEW,MAAM,EAAoC;MAAA,IAAA2K,OAAA;MAAA,IAAlCtK,YAAY,GAAAhI,SAAA,CAAAhB,MAAA,QAAAgB,SAAA,QAAA8E,SAAA,GAAA9E,SAAA,MAAG,IAAI,CAACgI,YAAY;MAC7D,IAAI,CAACgK,SAAS,CAAC,CAAC,CAACI,KAAK,CAAC,CAAC;MACxB,IAAI,CAAC7H,SAAS,GAAG,EAAE;MAEnB,IAAI,IAAI,CAACpC,OAAO,EAAE;QACdnB,MAAM,GAAG,IAAAuL,yBAAa,EAACvL,MAAM,EAAE,IAAI,CAACmB,OAAO,CAAC;MAChD;MAEA,IAAAsJ,8CAAqB,EAAC;QAClB1K,GAAG,EAAHA,GAAG;QACHC,MAAM,EAANA,MAAM;QACNW,MAAM,EAANA,MAAM;QACNK,YAAY,EAAZA,YAAY;QACZ0J,KAAK,EAAE,IAAI,CAACxK;MAChB,CAAC,CAAC,CAACyK,IAAI,CAAC,UAAAxK,QAAQ,EAAI;QAChBmL,OAAI,CAACN,SAAS,CAAC,CAAC,CAACI,KAAK,CAAC,CAAC;QACxBE,OAAI,CAAC/H,SAAS,GAAG,EAAE;QAEnB,IAAIpD,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEnI,MAAM,EAAE;UAClBsT,OAAI,CAAC/H,SAAS,GAAGpD,QAAQ;UACzBmL,OAAI,CAACN,SAAS,CAAC,CAAC,CAACC,WAAW,CAAC9K,QAAQ,CAAC;UAEtCmL,OAAI,CAACvC,oBAAoB,CAACuC,OAAI,CAACN,SAAS,CAAC,CAAC,CAACE,WAAW,CAAC,CAAC,CAAC;QAC7D;QACA,IAAII,OAAI,CAACtI,QAAQ,CAACxC,OAAO,EAAE;UACvB8K,OAAI,CAACvH,cAAc,CAACuH,OAAI,CAACtI,QAAQ,CAACxC,OAAO,CAAC;QAC9C;MACJ,CAAC,CAAC;IACN;EAAC;IAAA7G,GAAA;IAAA0B,KAAA,EAED,SAAAmQ,aAAarL,QAAQ,EAAE;MACnB,IAAI,CAAC6K,SAAS,CAAC,CAAC,CAACI,KAAK,CAAC,CAAC;MACxB,IAAI,CAACJ,SAAS,CAAC,CAAC,CAACC,WAAW,CAAC9K,QAAQ,CAAC;MAEtC,IAAI,CAAC4I,oBAAoB,CAAC,IAAI,CAACiC,SAAS,CAAC,CAAC,CAACE,WAAW,CAAC,CAAC,CAAC;MAEzD,IAAI,CAAC3H,SAAS,GAAGpD,QAAQ;MACzB,IAAI,IAAI,CAAC6C,QAAQ,CAACxC,OAAO,EAAE;QACvB,IAAI,CAACuD,cAAc,CAAC,IAAI,CAACf,QAAQ,CAACxC,OAAO,CAAC;MAC9C;IACJ;EAAC;IAAA7G,GAAA;IAAA0B,KAAA,EAED,SAAA6P,YAAA,EAAc;MACV,IAAM3R,MAAM,GAAG,IAAI,CAACyR,SAAS,CAAC,CAAC,CAACzR,MAAM,IAAI,IAAI,CAACyR,SAAS,CAAC,CAAC;MAC1D,OAAOzR,MAAM,CAAC2R,WAAW,CAAC,CAAC;IAC/B;EAAC;IAAAvR,GAAA;IAAA0B,KAAA,EAED,SAAAyP,uBAAuBJ,KAAK,EAAErP,KAAK,EAAE;MACjC,OAAO,IAAI,CAAC6P,WAAW,CAAC,CAAC,CAAC5M,IAAI,CAAC,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACC,OAAO,CAACkM,KAAK,CAAC,KAAKrP,KAAK;MAAA,EAAC;IACnE;EAAC;IAAA1B,GAAA;IAAA0B,KAAA,EAED,SAAAoQ,6BAAAC,KAAA,EAAoF;MAAA,IAAAC,OAAA;MAAA,IAArDjB,KAAK,GAAAgB,KAAA,CAALhB,KAAK;QAAErP,KAAK,GAAAqQ,KAAA,CAALrQ,KAAK;QAAAuQ,eAAA,GAAAF,KAAA,CAAEG,SAAS;QAATA,SAAS,GAAAD,eAAA,cAAG,KAAK,GAAAA,eAAA;QAAEzL,QAAQ,GAAAuL,KAAA,CAARvL,QAAQ;QAAEzH,MAAM,GAAAgT,KAAA,CAANhT,MAAM;MAC5E,OAAO,IAAIoT,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAK;QACpC,IAAIzI,SAAS,GAAGpD,QAAQ,IAAIwL,OAAI,CAACT,WAAW,CAAC,CAAC;QAC9C,IAAIxS,MAAM,EAAE;UACR6K,SAAS,GAAGA,SAAS,CAAC7K,MAAM,CAAC,UAAAwF,OAAO;YAAA,OAAIxF,MAAM,CAACwF,OAAO,CAACM,OAAO,CAAC;UAAA,EAAC;QACpE;QAEA,IAAInC,MAAM,GAAGkH,SAAS;QAEtB,IAAIsI,SAAS,IAAIxQ,KAAK,KAAKyC,SAAS,EAAE;UAClC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAACoK,QAAQ,CAAC2D,SAAS,CAAC,EAAE;YAC1D,IAAI;cACA;cACA,IAAMI,GAAG,GAAG,IAAIC,QAAQ,CACpB,UAAU,EACV,OAAO,EACP,OAAO,kDAAAC,MAAA,CACyCN,SAAS,YAC7D,CAAC;cACDxP,MAAM,GAAG4P,GAAG,CAAC1I,SAAS,EAAEmH,KAAK,EAAErP,KAAK,CAAC;YACzC,CAAC,CAAC,OAAO+Q,GAAG,EAAE;cACVJ,MAAM,CAACI,GAAG,CAAC;YACf;UACJ,CAAC,MAAM,IAAIP,SAAS,KAAK,MAAM,EAAE;YAC7B;YACAxP,MAAM,GAAGkH,SAAS,CAAC7K,MAAM,CAAC,UAAA6F,CAAC;cAAA,IAAA8N,gBAAA;cAAA,OAAI,EAAAA,gBAAA,GAAA9N,CAAC,CAACC,OAAO,CAACkM,KAAK,CAAC,cAAA2B,gBAAA,uBAAhBA,gBAAA,CAAkBxS,OAAO,CAACwB,KAAK,CAAC,MAAK,CAAC,CAAC;YAAA,EAAC;UAC3E,CAAC,MAAM,IAAIwQ,SAAS,KAAK,SAAS,EAAE;YAChC;YACAxP,MAAM,GAAGkH,SAAS,CAAC7K,MAAM,CAAC,UAAA6F,CAAC;cAAA,IAAA+N,iBAAA;cAAA,OAAI,EAAAA,iBAAA,GAAA/N,CAAC,CAACC,OAAO,CAACkM,KAAK,CAAC,cAAA4B,iBAAA,uBAAhBA,iBAAA,CAAkBzS,OAAO,CAACwB,KAAK,CAAC,MAAK,CAAC,CAAC;YAAA,EAAC;UAC3E,CAAC,MAAM;YACHgB,MAAM,GAAGkH,SAAS,CAAC7K,MAAM,CAAC,UAAA6F,CAAC;cAAA,IAAAgO,iBAAA;cAAA,OAAI,EAAAA,iBAAA,GAAAhO,CAAC,CAACC,OAAO,CAACkM,KAAK,CAAC,cAAA6B,iBAAA,uBAAhBA,iBAAA,CAAkB1S,OAAO,CAACwB,KAAK,CAAC,MAAK,CAAC,CAAC;YAAA,EAAC;UAC3E;QACJ;QAEA0Q,OAAO,CAAC1P,MAAM,CAAC;MACnB,CAAC,CAAC;IACN;;IAEA;EAAA;IAAA1C,GAAA;IAAA0B,KAAA,EACA,SAAAmR,OAAA,EAAS;MACL,OAAO,IAAI,CAACrO,GAAG;IACnB;;IAEA;EAAA;IAAAxE,GAAA;IAAA0B,KAAA,EACA,SAAAoR,SAAS3L,KAAK,EAAE;MACZ,IAAIA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE9I,MAAM,EAAE;QAAA,IAAA0U,gBAAA;QACf,KAAAA,gBAAA,GAAI,IAAI,CAACnJ,SAAS,cAAAmJ,gBAAA,eAAdA,gBAAA,CAAgB1U,MAAM,EAAE;UACxB,IAAI,CAACuL,SAAS,CAACpF,GAAG,CAAC,UAAAD,OAAO,EAAI;YAC1B,IAAI2C,IAAI,GAAG,IAAI;YACfC,KAAK,CAAC3C,GAAG,CAAC,UAAAI,CAAC,EAAI;cAAA,IAAAoO,UAAA;cACXpO,CAAC,CAAC7F,MAAM,GAAG,IAAAgJ,uBAAW,EAACnD,CAAC,CAAC7F,MAAM,CAAC;cAChC,IAAI6F,CAAC,aAADA,CAAC,gBAAAoO,UAAA,GAADpO,CAAC,CAAE7F,MAAM,cAAAiU,UAAA,eAATA,UAAA,CAAAvV,IAAA,CAAAmH,CAAC,EAAWL,OAAO,CAACM,OAAO,CAAC,EAAE;gBAC9B,IAAID,CAAC,CAAClB,cAAc,CAAC,MAAM,CAAC,IAAI,CAACkB,CAAC,CAACsC,IAAI,EAAE;kBACrCA,IAAI,GAAG,KAAK;gBAChB;cACJ;YACJ,CAAC,CAAC;YACF3C,OAAO,CAAC2C,IAAI,GAAGA,IAAI;UACvB,CAAC,CAAC;QACN;QACA,IAAI,CAACC,KAAK,GAAGA,KAAK;QAClB,IAAI,CAAC8L,iBAAiB,CAAC,CAAC;QAExB,IAAI,IAAI,CAAC5J,QAAQ,CAACxC,OAAO,EAAE;UACvB,IAAI,CAACuD,cAAc,CAAC,IAAI,CAACf,QAAQ,CAACxC,OAAO,CAAC;QAC9C,CAAC,MAAM;UACH,IAAI,CAACqD,QAAQ,CAAC,IAAI,CAACC,cAAc,CAAC,CAAC,CAAC;QACxC;QAEA,IAAI,CAACiF,oBAAoB,CAAC,IAAI,CAACxF,SAAS,CAAC;MAC7C;IACJ;;IAEA;EAAA;IAAA5J,GAAA;IAAA0B,KAAA,EACA,SAAAuR,kBAAA,EAAoB;MAChB,IAAM9L,KAAK,GAAG,IAAI,CAACA,KAAK;MACxB,IAAIA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE9I,MAAM,EAAE;QACf,IAAI6U,OAAO,GAAG,KAAK;QAEnB/L,KAAK,CAAC3C,GAAG,CAAC,UAAAI,CAAC,EAAI;UACX,IAAI,CAACA,CAAC,CAAClB,cAAc,CAAC,MAAM,CAAC,IAAIkB,CAAC,CAACsC,IAAI,EAAE;YACrCgM,OAAO,GAAG,IAAI;UAClB;QACJ,CAAC,CAAC;QAEF,IAAI,CAAClJ,UAAU,CAACkJ,OAAO,CAAC;MAC5B;IACJ;;IAEA;EAAA;IAAAlT,GAAA;IAAA0B,KAAA,EACA,SAAAsI,WAAWkJ,OAAO,EAAE;MAChBjS,IAAA,CAAAwB,eAAA,CAAAqD,YAAA,CAAAvI,SAAA,uBAAAE,IAAA,OAAiByV,OAAO,EAAE,CAAC;;MAE3B,IAAM1O,GAAG,GAAG,IAAI,CAACqO,MAAM,IAAI,IAAI,CAACA,MAAM,CAAC,CAAC;MACxC,IAAIrO,GAAG,EAAE;QACLA,GAAG,CAAC2O,MAAM,CAACC,QAAQ,CAAC,CAAC;MACzB;;MAEA;MACA,IAAI,CAAC,IAAI,CAAC3J,MAAM,EAAE;QACd,IAAI,CAACI,IAAI,CAAC,CAAC;MACf;MAEA,IAAI,CAACqJ,OAAO,EAAE;QACV,IAAI,CAAC7C,YAAY,CAAC,CAAC;MACvB,CAAC,MAAM;QACH,IAAI,CAACjB,oBAAoB,CAAC,IAAI,CAACiC,SAAS,CAAC,CAAC,CAACE,WAAW,CAAC,CAAC,CAAC;MAC7D;IACJ;EAAC;IAAAvR,GAAA;IAAA0B,KAAA,EAED,SAAA2R,aAAA,EAAe;MACX,IAAM7O,GAAG,GAAG,IAAI,CAACA,GAAG;MACpB,IAAIA,GAAG,IAAI,IAAI,CAACsG,OAAO,EAAE;QACrBtG,GAAG,CAAC8O,EAAE,CAAC,SAAS,EAAE,IAAI,CAACxI,OAAO,CAAC;QAC/B,IAAI,CAACA,OAAO,GAAG,IAAI;MACvB;IACJ;EAAC;IAAA9K,GAAA;IAAA0B,KAAA,EAED,SAAAgJ,QAAA,EAAU;MACN,IAAI,CAAC2I,YAAY,CAAC,CAAC;MACnB,IAAI,CAAChD,YAAY,CAAC,CAAC;IACvB;EAAC;EAAA,OAAAvK,YAAA;AAAA,EAt2BsByN,aAAM;AAAA,IAAAC,QAAA,GAAAC,OAAA,cAy2BlB3N,YAAY"}
|
|
@@ -8,24 +8,26 @@ exports["default"] = void 0;
|
|
|
8
8
|
var _Cluster2 = _interopRequireDefault(require("ol/source/Cluster"));
|
|
9
9
|
var _extent = require("ol/extent.js");
|
|
10
10
|
var _util = require("ol/util.js");
|
|
11
|
-
function _interopRequireDefault(
|
|
12
|
-
function _classCallCheck(
|
|
13
|
-
function _defineProperties(
|
|
14
|
-
function _createClass(
|
|
15
|
-
function _toPropertyKey(
|
|
16
|
-
function _toPrimitive(
|
|
17
|
-
function
|
|
18
|
-
function
|
|
19
|
-
function
|
|
20
|
-
function
|
|
21
|
-
function
|
|
22
|
-
function
|
|
23
|
-
function
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
12
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
13
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
14
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
15
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
16
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
17
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
18
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
19
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
20
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
21
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
22
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
23
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
24
24
|
var MyCluster = /*#__PURE__*/function (_Cluster) {
|
|
25
|
+
_inherits(MyCluster, _Cluster);
|
|
26
|
+
var _super = _createSuper(MyCluster);
|
|
25
27
|
function MyCluster(options) {
|
|
26
28
|
var _this;
|
|
27
29
|
_classCallCheck(this, MyCluster);
|
|
28
|
-
_this =
|
|
30
|
+
_this = _super.call(this, options);
|
|
29
31
|
|
|
30
32
|
// 不加入聚合
|
|
31
33
|
_this.unClusterFunc = options.unClusterFunc;
|
|
@@ -44,8 +46,7 @@ var MyCluster = /*#__PURE__*/function (_Cluster) {
|
|
|
44
46
|
/**
|
|
45
47
|
* 分组聚合
|
|
46
48
|
*/
|
|
47
|
-
|
|
48
|
-
return _createClass(MyCluster, [{
|
|
49
|
+
_createClass(MyCluster, [{
|
|
49
50
|
key: "groupCluster",
|
|
50
51
|
value: function groupCluster(feature, clustered, extent, mapDistance) {
|
|
51
52
|
var _this2 = this;
|
|
@@ -145,6 +146,7 @@ var MyCluster = /*#__PURE__*/function (_Cluster) {
|
|
|
145
146
|
(_this$clusterChange = this.clusterChange) === null || _this$clusterChange === void 0 || _this$clusterChange.call(this, this.features);
|
|
146
147
|
}
|
|
147
148
|
}]);
|
|
149
|
+
return MyCluster;
|
|
148
150
|
}(_Cluster2["default"]);
|
|
149
151
|
var _default = exports["default"] = MyCluster;
|
|
150
152
|
//# sourceMappingURL=MyCluster.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MyCluster.js","names":["_Cluster2","_interopRequireDefault","require","_extent","_util","e","__esModule","_classCallCheck","a","n","TypeError","_defineProperties","r","t","length","o","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","prototype","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","String","Number","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","apply","_assertThisInitialized","ReferenceError","Boolean","valueOf","setPrototypeOf","getPrototypeOf","bind","__proto__","_inherits","create","value","_setPrototypeOf","MyCluster","_Cluster","options","_this","unClusterFunc","field","group","clusterChange","groupCluster","feature","clustered","extent","mapDistance","_this2","geometry","geometryFunction","coordinates","getCoordinates","createOrUpdateFromCoordinate","buffer","neighbors","source","getFeaturesInExtent","_this$group","properties","get","getProperties","filter","neighbor","pointProperties","findIndex","v","_v$filter","_v$filter2","unCluster","forEach","uid","getUid","features","push","createCluster","cluster","_this$clusterChange","resolution","undefined","createEmpty","distance","getFeatures","ii","Cluster","_default","exports"],"sources":["feature-layer/MyCluster.js"],"sourcesContent":["import Cluster from 'ol/source/Cluster'\r\nimport {buffer, createEmpty, createOrUpdateFromCoordinate} from 'ol/extent.js';\r\nimport {getUid} from 'ol/util.js';\r\n\r\nclass MyCluster extends Cluster {\r\n\r\n constructor(options) {\r\n super(options);\r\n\r\n // 不加入聚合\r\n this.unClusterFunc = options.unClusterFunc;\r\n\r\n // 需要提供类型字段,将会根据类型字段的值,自动进行分类聚合\r\n this.field = options.field;\r\n\r\n // 根据分组聚合\r\n this.group = options.group;\r\n\r\n // 聚合改变时触发的方法\r\n this.clusterChange = options.clusterChange;\r\n }\r\n\r\n /**\r\n * 分组聚合\r\n */\r\n groupCluster(feature, clustered, extent, mapDistance) {\r\n let geometry = this.geometryFunction(feature);\r\n if (geometry) {\r\n let coordinates = geometry.getCoordinates();\r\n createOrUpdateFromCoordinate(coordinates, extent);\r\n buffer(extent, mapDistance, extent);\r\n let neighbors = this.source.getFeaturesInExtent(extent);\r\n\r\n // 存在两个以上的点聚合\r\n if (neighbors.length > 1) {\r\n // 这次聚合按照当前中心点feature这一种类型进行\r\n let properties = feature.get('properties') || feature.getProperties();\r\n\r\n if (this.field) {\r\n neighbors = neighbors.filter(neighbor => {\r\n const pointProperties = neighbor.get('properties') || neighbor.getProperties()\r\n return pointProperties[this.field] === properties[this.field]\r\n })\r\n } else if (this.group?.length) {\r\n neighbors = neighbors.filter(neighbor => {\r\n const pointProperties = neighbor.get('properties') || neighbor.getProperties();\r\n\r\n const i = this.group.findIndex(v => v?.filter?.(properties));\r\n const a = this.group.findIndex(v => v?.filter?.(pointProperties));\r\n\r\n return i !== -1 && a !== -1 && i === a;\r\n })\r\n }\r\n }\r\n\r\n // 先删除不需要聚合的点\r\n if (this.unClusterFunc) {\r\n const unCluster = neighbors.filter(neighbor => {\r\n return this.unClusterFunc(neighbor)\r\n })\r\n // 因为不需要聚合,所以这些点就直接单个展示,记录下这些要素\r\n unCluster.forEach(neighbor => {\r\n let uid = getUid(neighbor);\r\n if (!(uid in clustered)) {\r\n clustered[uid] = true;\r\n }\r\n this.features.push(this.createCluster([neighbor], extent));\r\n })\r\n // 筛选除去不需要聚合的点后的几个点\r\n neighbors = neighbors.filter(neighbor => {\r\n return !this.unClusterFunc(neighbor)\r\n })\r\n }\r\n\r\n // 需要聚合的点\r\n neighbors = neighbors.filter(function (neighbor) {\r\n let uid = getUid(neighbor);\r\n if (!(uid in clustered)) {\r\n clustered[uid] = true;\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n });\r\n // 经过上面的操作后,可能会出现没有要聚合的点了,所以这里加一下判断\r\n if (neighbors.length > 0) {\r\n this.features.push(this.createCluster(neighbors, extent));\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 覆盖了原生的聚合方法\r\n * @returns\r\n */\r\n cluster() {\r\n if (this.resolution === undefined || !this.source) {\r\n return;\r\n }\r\n let extent = createEmpty();\r\n let mapDistance = this.distance * this.resolution;\r\n let features = this.source.getFeatures();\r\n /**\r\n * @type {!Object<string, boolean>}\r\n */\r\n let clustered = {};\r\n for (let i = 0, ii = features.length; i < ii; i++) {\r\n let feature = features[i];\r\n if (!(getUid(feature) in clustered)) {\r\n this.groupCluster(feature, clustered, extent, mapDistance)\r\n }\r\n }\r\n\r\n this.clusterChange?.(this.features);\r\n }\r\n}\r\n\r\nexport default MyCluster\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"MyCluster.js","names":["_Cluster2","_interopRequireDefault","require","_extent","_util","obj","__esModule","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","prototype","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","Number","_inherits","subClass","superClass","create","constructor","value","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","getPrototypeOf","MyCluster","_Cluster","_super","options","_this","unClusterFunc","field","group","clusterChange","groupCluster","feature","clustered","extent","mapDistance","_this2","geometry","geometryFunction","coordinates","getCoordinates","createOrUpdateFromCoordinate","buffer","neighbors","source","getFeaturesInExtent","_this$group","properties","get","getProperties","filter","neighbor","pointProperties","findIndex","v","_v$filter","a","_v$filter2","unCluster","forEach","uid","getUid","features","push","createCluster","cluster","_this$clusterChange","resolution","createEmpty","distance","getFeatures","ii","Cluster","_default","exports"],"sources":["feature-layer/MyCluster.js"],"sourcesContent":["import Cluster from 'ol/source/Cluster'\r\nimport {buffer, createEmpty, createOrUpdateFromCoordinate} from 'ol/extent.js';\r\nimport {getUid} from 'ol/util.js';\r\n\r\nclass MyCluster extends Cluster {\r\n\r\n constructor(options) {\r\n super(options);\r\n\r\n // 不加入聚合\r\n this.unClusterFunc = options.unClusterFunc;\r\n\r\n // 需要提供类型字段,将会根据类型字段的值,自动进行分类聚合\r\n this.field = options.field;\r\n\r\n // 根据分组聚合\r\n this.group = options.group;\r\n\r\n // 聚合改变时触发的方法\r\n this.clusterChange = options.clusterChange;\r\n }\r\n\r\n /**\r\n * 分组聚合\r\n */\r\n groupCluster(feature, clustered, extent, mapDistance) {\r\n let geometry = this.geometryFunction(feature);\r\n if (geometry) {\r\n let coordinates = geometry.getCoordinates();\r\n createOrUpdateFromCoordinate(coordinates, extent);\r\n buffer(extent, mapDistance, extent);\r\n let neighbors = this.source.getFeaturesInExtent(extent);\r\n\r\n // 存在两个以上的点聚合\r\n if (neighbors.length > 1) {\r\n // 这次聚合按照当前中心点feature这一种类型进行\r\n let properties = feature.get('properties') || feature.getProperties();\r\n\r\n if (this.field) {\r\n neighbors = neighbors.filter(neighbor => {\r\n const pointProperties = neighbor.get('properties') || neighbor.getProperties()\r\n return pointProperties[this.field] === properties[this.field]\r\n })\r\n } else if (this.group?.length) {\r\n neighbors = neighbors.filter(neighbor => {\r\n const pointProperties = neighbor.get('properties') || neighbor.getProperties();\r\n\r\n const i = this.group.findIndex(v => v?.filter?.(properties));\r\n const a = this.group.findIndex(v => v?.filter?.(pointProperties));\r\n\r\n return i !== -1 && a !== -1 && i === a;\r\n })\r\n }\r\n }\r\n\r\n // 先删除不需要聚合的点\r\n if (this.unClusterFunc) {\r\n const unCluster = neighbors.filter(neighbor => {\r\n return this.unClusterFunc(neighbor)\r\n })\r\n // 因为不需要聚合,所以这些点就直接单个展示,记录下这些要素\r\n unCluster.forEach(neighbor => {\r\n let uid = getUid(neighbor);\r\n if (!(uid in clustered)) {\r\n clustered[uid] = true;\r\n }\r\n this.features.push(this.createCluster([neighbor], extent));\r\n })\r\n // 筛选除去不需要聚合的点后的几个点\r\n neighbors = neighbors.filter(neighbor => {\r\n return !this.unClusterFunc(neighbor)\r\n })\r\n }\r\n\r\n // 需要聚合的点\r\n neighbors = neighbors.filter(function (neighbor) {\r\n let uid = getUid(neighbor);\r\n if (!(uid in clustered)) {\r\n clustered[uid] = true;\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n });\r\n // 经过上面的操作后,可能会出现没有要聚合的点了,所以这里加一下判断\r\n if (neighbors.length > 0) {\r\n this.features.push(this.createCluster(neighbors, extent));\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 覆盖了原生的聚合方法\r\n * @returns\r\n */\r\n cluster() {\r\n if (this.resolution === undefined || !this.source) {\r\n return;\r\n }\r\n let extent = createEmpty();\r\n let mapDistance = this.distance * this.resolution;\r\n let features = this.source.getFeatures();\r\n /**\r\n * @type {!Object<string, boolean>}\r\n */\r\n let clustered = {};\r\n for (let i = 0, ii = features.length; i < ii; i++) {\r\n let feature = features[i];\r\n if (!(getUid(feature) in clustered)) {\r\n this.groupCluster(feature, clustered, extent, mapDistance)\r\n }\r\n }\r\n\r\n this.clusterChange?.(this.features);\r\n }\r\n}\r\n\r\nexport default MyCluster\r\n"],"mappings":"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"}
|
|
@@ -8,22 +8,22 @@ exports.transformLonLatToWGS84 = exports.transformGeometryInfoToWGS84 = exports.
|
|
|
8
8
|
var _format = require("ol/format");
|
|
9
9
|
var _http = _interopRequireDefault(require("../_util/http"));
|
|
10
10
|
var _mapTool = _interopRequireDefault(require("../_util/mapTool"));
|
|
11
|
-
function _interopRequireDefault(
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
12
12
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
13
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
-
function _defineProperty(
|
|
15
|
-
function _toPropertyKey(
|
|
16
|
-
function _toPrimitive(
|
|
17
|
-
function _slicedToArray(
|
|
14
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
16
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
17
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
18
18
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
19
19
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
20
|
-
function _arrayWithHoles(
|
|
21
|
-
function _toConsumableArray(
|
|
20
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
21
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
22
22
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
23
|
-
function _unsupportedIterableToArray(
|
|
24
|
-
function _iterableToArray(
|
|
25
|
-
function _arrayWithoutHoles(
|
|
26
|
-
function _arrayLikeToArray(
|
|
23
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
24
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
25
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
26
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
27
27
|
var geoJsonFormat = new _format.GeoJSON();
|
|
28
28
|
var transformLonLatToWGS84 = exports.transformLonLatToWGS84 = function transformLonLatToWGS84(lonLat, coordType) {
|
|
29
29
|
var _lonLat = _toConsumableArray(lonLat).map(function (v) {
|
|
@@ -58,11 +58,11 @@ var transformGeometryInfoToWGS84 = exports.transformGeometryInfoToWGS84 = functi
|
|
|
58
58
|
};
|
|
59
59
|
var transformGeometry = exports.transformGeometry = function transformGeometry(geometryInfo) {
|
|
60
60
|
var _type2;
|
|
61
|
-
/**
|
|
62
|
-
* geometry: {
|
|
63
|
-
* "type": "Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon | GeometryCollection",
|
|
64
|
-
* "coordinates": []
|
|
65
|
-
* }
|
|
61
|
+
/**
|
|
62
|
+
* geometry: {
|
|
63
|
+
* "type": "Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon | GeometryCollection",
|
|
64
|
+
* "coordinates": []
|
|
65
|
+
* }
|
|
66
66
|
*/
|
|
67
67
|
|
|
68
68
|
var type = geometryInfo.type,
|
|
@@ -73,12 +73,12 @@ var transformGeometry = exports.transformGeometry = function transformGeometry(g
|
|
|
73
73
|
type = type || shapeType;
|
|
74
74
|
coordType = coordType || coordinateType;
|
|
75
75
|
|
|
76
|
-
/**
|
|
77
|
-
* geometryInfo: {
|
|
78
|
-
* coordType: "wgs84"
|
|
79
|
-
* lngLats: "119.02486914921874,25.63890915087647"
|
|
80
|
-
* type: "point"
|
|
81
|
-
* }
|
|
76
|
+
/**
|
|
77
|
+
* geometryInfo: {
|
|
78
|
+
* coordType: "wgs84"
|
|
79
|
+
* lngLats: "119.02486914921874,25.63890915087647"
|
|
80
|
+
* type: "point"
|
|
81
|
+
* }
|
|
82
82
|
*/
|
|
83
83
|
|
|
84
84
|
var _type = (_type2 = type) === null || _type2 === void 0 ? void 0 : _type2.replace(/^\S/, function (s) {
|