Filter only initial points in the initial mode

dev
Platon Yasev 3 years ago
parent e86255756a
commit 13858588b8

@ -1,19 +1,27 @@
import { Layer } from "react-map-gl"; import { Layer } from "react-map-gl";
import { cancelledPointLayer } from "./layers-config"; import { cancelledPointLayer } from "./layers-config";
import { useLayersVisibility } from "../../stores/useLayersVisibility"; import { useLayersVisibility } from "../../stores/useLayersVisibility";
import { STATUSES } from "../../config"; import { MODES, STATUSES } from "../../config";
import { useRegionFilterExpression } from "./useRegionFilterExpression"; import { useRegionFilterExpression } from "./useRegionFilterExpression";
import { LAYER_IDS } from "./constants"; import { LAYER_IDS } from "./constants";
import { useMode } from "../../stores/useMode";
const statusExpression = ["==", ["get", "status"], STATUSES.cancelled]; const statusExpression = ["==", ["get", "status"], STATUSES.cancelled];
export const CancelledPoints = () => { export const CancelledPoints = () => {
const { isVisible } = useLayersVisibility(); const { isVisible } = useLayersVisibility();
const regionFilterExpression = useRegionFilterExpression(); const regionFilterExpression = useRegionFilterExpression();
const { mode } = useMode();
const filter = regionFilterExpression const getFilter = () => {
? ["all", statusExpression, regionFilterExpression] if (mode === MODES.APPROVE_WORKING) {
: statusExpression; return regionFilterExpression
? ["all", statusExpression, regionFilterExpression]
: statusExpression;
}
return statusExpression;
};
return ( return (
<> <>
@ -25,7 +33,7 @@ export const CancelledPoints = () => {
layout={{ layout={{
visibility: isVisible[LAYER_IDS.cancelled] ? "visible" : "none", visibility: isVisible[LAYER_IDS.cancelled] ? "visible" : "none",
}} }}
filter={filter} filter={getFilter()}
/> />
</> </>
); );

@ -1,19 +1,27 @@
import { Layer } from "react-map-gl"; import { Layer } from "react-map-gl";
import { workingPointLayer } from "./layers-config"; import { workingPointLayer } from "./layers-config";
import { useLayersVisibility } from "../../stores/useLayersVisibility"; import { useLayersVisibility } from "../../stores/useLayersVisibility";
import { STATUSES } from "../../config"; import { MODES, STATUSES } from "../../config";
import { useRegionFilterExpression } from "./useRegionFilterExpression"; import { useRegionFilterExpression } from "./useRegionFilterExpression";
import { LAYER_IDS } from "./constants"; import { LAYER_IDS } from "./constants";
import { useMode } from "../../stores/useMode";
const statusExpression = ["==", ["get", "status"], STATUSES.working]; const statusExpression = ["==", ["get", "status"], STATUSES.working];
export const WorkingPoints = () => { export const WorkingPoints = () => {
const { isVisible } = useLayersVisibility(); const { isVisible } = useLayersVisibility();
const regionFilterExpression = useRegionFilterExpression(); const regionFilterExpression = useRegionFilterExpression();
const { mode } = useMode();
const filter = regionFilterExpression const getFilter = () => {
? ["all", statusExpression, regionFilterExpression] if (mode === MODES.APPROVE_WORKING) {
: ["all", statusExpression]; return regionFilterExpression
? ["all", statusExpression, regionFilterExpression]
: statusExpression;
}
return statusExpression;
};
return ( return (
<> <>
@ -25,7 +33,7 @@ export const WorkingPoints = () => {
layout={{ layout={{
visibility: isVisible[LAYER_IDS.working] ? "visible" : "none", visibility: isVisible[LAYER_IDS.working] ? "visible" : "none",
}} }}
filter={filter} filter={getFilter()}
/> />
</> </>
); );

@ -140,6 +140,7 @@ export const MapComponent = () => {
LAYER_IDS["initial-unmatch"], LAYER_IDS["initial-unmatch"],
LAYER_IDS.approve, LAYER_IDS.approve,
LAYER_IDS.working, LAYER_IDS.working,
LAYER_IDS.filteredWorking,
LAYER_IDS.cancelled, LAYER_IDS.cancelled,
LAYER_IDS.pvz, LAYER_IDS.pvz,
]} ]}

Loading…
Cancel
Save