Get full range only for working points

dev
Platon Yasev 3 years ago
parent 266eceba70
commit 07c7ccaf0d

@ -3,7 +3,7 @@ import { otherPostamatesLayer } from "./layers-config";
import { useLayersVisibility } from "../../stores/useLayersVisibility";
import { LAYER_IDS } from "./constants";
const typeFilter = ["==", ["get", "type"], "Постамат"];
const typeFilter = ["==", ["get", "type"], "постамат"];
export const OtherPostamates = () => {
const { isVisible } = useLayersVisibility();

@ -10,6 +10,7 @@ import { WorkingPointPopup } from "./mode-popup/WorkingPointPopup";
import { FeatureProperties } from "./mode-popup/FeatureProperties";
const SingleFeaturePopup = ({ feature }) => {
console.log(feature);
const { mode } = useMode();
const isRivals =
feature.layer?.id === LAYER_IDS.pvz ||

@ -29,7 +29,6 @@ const useGetPendingPointsRange = () => {
{
select: (data) => {
return {
...data,
prediction: [data.prediction_current[0], data.prediction_current[1]],
};
},

@ -4,38 +4,11 @@ import { forwardRef } from "react";
import { MODES } from "../../config";
import { PendingPointsFilters } from "./PendingPointsFilters/PendingPointsFilters";
import { OnApprovalPointsFilters } from "./OnApprovalPointsFilters/OnApprovalPointsFilters";
import { useQuery } from "@tanstack/react-query";
import { api } from "../../api";
import { WorkingPointsFilters } from "./WorkingPointsFilters/WorkingPointsFilters";
const useGetDataRange = () => {
return useQuery(
["max-min"],
async () => {
const { data } = await api.get(`/api/placement_points/filters/`);
return data;
},
{
select: (data) => {
return {
...data,
prediction: [data.prediction_current[0], data.prediction_current[1]],
deltaTraffic: [data.delta_current[0], data.delta_current[1]],
factTraffic: [data.fact[0], data.fact[1]],
age: [data.age_day[0], data.age_day[1]],
};
},
}
);
};
export const Sidebar = forwardRef(({ isCollapsed }, ref) => {
const { mode } = useMode();
const { data: filtersValueRange, isInitialLoading: isFullRangeLoading } =
useGetDataRange();
const getFilters = () => {
if (mode === MODES.PENDING) {
return <PendingPointsFilters />;
@ -45,12 +18,7 @@ export const Sidebar = forwardRef(({ isCollapsed }, ref) => {
return <OnApprovalPointsFilters />;
}
return (
<WorkingPointsFilters
fullRange={filtersValueRange}
isFullRangeLoading={isFullRangeLoading}
/>
);
return <WorkingPointsFilters />;
};
return (

@ -30,8 +30,8 @@ export const FactTrafficSlider = ({ fullRange }) => {
title={"Фактический трафик"}
value={factTraffic}
onAfterChange={handleAfterChange}
min={fullRange.fact[0]}
max={fullRange.fact[1]}
min={fullRange.factTraffic[0]}
max={fullRange.factTraffic[1]}
range
/>
);

@ -6,10 +6,38 @@ import { AgeSlider } from "./AgeSlider";
import { ClearFiltersButton } from "../../../components/ClearFiltersButton";
import { getDynamicActiveFilters } from "../utils";
import { Spin } from "antd";
import { useQuery } from "@tanstack/react-query";
import { api } from "../../../api.js";
import { STATUSES } from "../../../config.js";
export const WorkingPointsFilters = ({ fullRange, isFullRangeLoading }) => {
const useGetDataRange = () => {
return useQuery(
["working-max-min"],
async () => {
const { data } = await api.get(
`/api/placement_points/filters?status[]=${STATUSES.working}`
);
return data;
},
{
select: (data) => {
return {
deltaTraffic: [data.delta_current[0], data.delta_current[1]],
factTraffic: [data.fact[0], data.fact[1]],
age: [data.age_day[0], data.age_day[1]],
};
},
}
);
};
export const WorkingPointsFilters = () => {
const { filters, setRegion, clear } = useWorkingPointsFilters();
const { data: fullRange, isInitialLoading: isFullRangeLoading } =
useGetDataRange();
const activeDynamicFilters = getDynamicActiveFilters(filters, fullRange, [
"deltaTraffic",
"factTraffic",

Loading…
Cancel
Save