|
|
|
@ -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()}
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
</>
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
);
|
|
|
|
|