haoxinlei 7 سال پیش
والد
کامیت
989a81337e
1فایلهای تغییر یافته به همراه30 افزوده شده و 4 حذف شده
  1. 30 4
      index.js

+ 30 - 4
index.js

@@ -295,19 +295,43 @@ function getRegionPointsSelector(circles, lineAndMarkers, polygonAndMarkers) {
     );
 }
 
+function getLines(lineAndMarker){
+    return lineAndMarker.lines;
+}
+
+function getLineSelector(lineAndMarker){
+    return createSelector(
+        lineAndMarker,
+        getLines
+    );
+}
+
+function getPolygons(polygonAndMarkers){
+    return polygonAndMarkers.polygons;
+}
+
+function getPolygonSelector(polygonAndMarkers){
+    return createSelector(
+        polygonAndMarkers,
+        getPolygons
+    );
+}
+
 //获取selector
 export function getShapesSelector(airspaceInfos, setStyle, currentAirspaceIndex) {
     currentAirspaceIndex = currentAirspaceIndex ? currentAirspaceIndex : () => -1;
     let circles = getCircleSelector(airspaceInfos, setStyle, currentAirspaceIndex);
     let lineAndMarkers = getLineAndMarkerSelector(airspaceInfos, setStyle, currentAirspaceIndex);
+    let lines = getLineSelector(lineAndMarkers);
     let polygonAndMarkers = getPolygonAndMarkerSelector(airspaceInfos, setStyle, currentAirspaceIndex);
+    let polygons = getPolygonSelector(polygonAndMarkers);
     let markers = getMarkerSelector(polygonAndMarkers, lineAndMarkers);
     let regionPoints = getRegionPointsSelector(circles, lineAndMarkers, polygonAndMarkers);
     return {
         markers,
         circles,
-        lineAndMarkers,
-        polygonAndMarkers,
+        lines,
+        polygons,
         regionPoints
     }
 }
@@ -316,14 +340,16 @@ export function getShapes(airspaceInfos, setStyle, currentAirspaceIndex) {
     currentAirspaceIndex = currentAirspaceIndex ? currentAirspaceIndex : () => -1;
     let circles = getCircles(airspaceInfos, setStyle, currentAirspaceIndex);
     let lineAndMarkers = getLinesAndMarkers(airspaceInfos, setStyle, currentAirspaceIndex);
+    let lines = getLines(lineAndMarkers);
     let polygonAndMarkers = getPolygonsAndMarkers(airspaceInfos, setStyle, currentAirspaceIndex);
+    let polygons = getPolygons(getPolygonsAndMarkers);
     let markers = getMarkers(polygonAndMarkers, lineAndMarkers);
     let regionPoints = getRegionPoints(circles, lineAndMarkers, polygonAndMarkers);
     return {
         markers,
         circles,
-        lineAndMarkers,
-        polygonAndMarkers,
+        lines,
+        polygons,
         regionPoints
     }
 }