Update id field according to new api version

dev
Platon Yasev 3 years ago
parent 131ba940f2
commit 6a347d7e0b

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4
dist/index.html vendored

@ -6,8 +6,8 @@
<link href="/favicon.ico" rel="icon"/> <link href="/favicon.ico" rel="icon"/>
<meta content="width=device-width, initial-scale=1.0" name="viewport"/> <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
<title>PostNet by Spatial</title> <title>PostNet by Spatial</title>
<script crossorigin src="/assets/index.3ca87fd1.js" type="module"></script> <script crossorigin src="/assets/index.c6ff2616.js" type="module"></script>
<link href="/assets/index.327984dc.css" rel="stylesheet"> <link href="/assets/index.55fd7218.css" rel="stylesheet">
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>

@ -18,6 +18,7 @@
"antd": "^4.23.6", "antd": "^4.23.6",
"axios": "^1.1.3", "axios": "^1.1.3",
"immer": "^9.0.19", "immer": "^9.0.19",
"immutable": "^4.3.0",
"lodash.debounce": "^4.0.8", "lodash.debounce": "^4.0.8",
"mapbox-gl": "npm:empty-npm-package@1.0.0", "mapbox-gl": "npm:empty-npm-package@1.0.0",
"maplibre-gl": "^2.4.0", "maplibre-gl": "^2.4.0",

@ -36,7 +36,7 @@ export const AddressSearch = () => {
return data.results.map((item) => ({ return data.results.map((item) => ({
label: item.address, label: item.address,
value: `${item.address}$${item.location_id}`, value: `${item.address}$${item.id}`,
item: item, item: item,
})); }));
}, [data]); }, [data]);

@ -1,11 +1,16 @@
import { Layer, Source } from "react-map-gl"; import { Layer, Source } from "react-map-gl";
const url = const greyMap =
"https://api.mapbox.com/styles/v1/ghermant/cla2nwk5f00el14nxvtjlsi6z/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1IjoiZ2hlcm1hbnQiLCJhIjoiY2xhMm5zZ3ZrMDF4MDN2bzc5Yjd0ZjZ1dCJ9.fqnvrEqKKBoguR7R6DR7Yw"; "https://api.mapbox.com/styles/v1/ghermant/cla2nwk5f00el14nxvtjlsi6z/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1IjoiZ2hlcm1hbnQiLCJhIjoiY2xhMm5zZ3ZrMDF4MDN2bzc5Yjd0ZjZ1dCJ9.fqnvrEqKKBoguR7R6DR7Yw";
const colorMap =
"https://api.mapbox.com/styles/v1/ghermant/cl9vd1nji002n15s2xxj25f4m/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1IjoiZ2hlcm1hbnQiLCJhIjoiY2pncDUwcnRmNDQ4ZjJ4czdjZXMzaHZpNyJ9.3rFyYRRtvLUngHm027HZ7A";
const positron =
"https://a.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}@2x.png";
export const Basemap = () => { export const Basemap = () => {
return ( return (
<Source type={"raster"} id={"basemap"} tiles={[url]} tileSize={256}> <Source type={"raster"} id={"basemap"} tiles={[greyMap]} tileSize={256}>
<Layer <Layer
type={"raster"} type={"raster"}
source={"basemap"} source={"basemap"}

@ -5,15 +5,15 @@ import { ModeSelector } from "../components/ModeSelector";
export const Header = () => { export const Header = () => {
return ( return (
<div className="absolute top-[20px] left-[58px] flex items-center z-10"> <div className="absolute top-[20px] left-[19px] flex items-center z-10">
<div className={twMerge("flex items-center gap-x-10")}> <div className={twMerge("flex items-center gap-x-20")}>
<Logo /> <Logo />
<div className="flex items-center gap-x-3"> <div className="flex items-center gap-x-3">
<ModeSelector /> <ModeSelector />
</div> </div>
</div> </div>
<div className="ml-[93px]"> <div className="ml-[71px]">
<AddressSearch /> <AddressSearch />
</div> </div>
</div> </div>

@ -21,16 +21,8 @@ const useFilterExpression = () => {
const regionExpression = useRegionFilterExpression(); const regionExpression = useRegionFilterExpression();
const includedExpression = [ const includedExpression = ["in", ["get", "id"], ["literal", includedArr]];
"in", const excludedExpression = ["in", ["get", "id"], ["literal", excludedArr]];
["get", "location_id"],
["literal", includedArr],
];
const excludedExpression = [
"in",
["get", "location_id"],
["literal", excludedArr],
];
const predictionExpression = [ const predictionExpression = [
[">=", ["get", "prediction_current"], prediction[0]], [">=", ["get", "prediction_current"], prediction[0]],
["<=", ["get", "prediction_current"], prediction[1]], ["<=", ["get", "prediction_current"], prediction[1]],

@ -24,6 +24,10 @@ import { twMerge } from "tailwind-merge";
import { useLayersVisibility } from "../stores/useLayersVisibility"; import { useLayersVisibility } from "../stores/useLayersVisibility";
import { LAYER_IDS } from "./Layers/constants"; import { LAYER_IDS } from "./Layers/constants";
import { Header } from "./Header"; import { Header } from "./Header";
import voyagerStyle from "./voyager.json";
import { fromJS } from "immutable";
const immutableVoyagerStyle = fromJS(voyagerStyle);
export const MapComponent = () => { export const MapComponent = () => {
const mapRef = useRef(null); const mapRef = useRef(null);
@ -122,7 +126,7 @@ export const MapComponent = () => {
> >
<Map <Map
mapLib={maplibregl} mapLib={maplibregl}
// mapStyle={`https://api.maptiler.com/maps/voyager/style.json?key=${MAP_TILER_KEY}`} // mapStyle={immutableVoyagerStyle}
// style={{ width: "100%", height: "100%" }} // style={{ width: "100%", height: "100%" }}
initialViewState={{ initialViewState={{
latitude: 55.7558, latitude: 55.7558,

@ -34,9 +34,9 @@ const MultipleFeaturesPopup = ({ features, onSelect }) => {
className="flex items-center gap-x-1" className="flex items-center gap-x-1"
block block
onClick={() => onSelect(feature)} onClick={() => onSelect(feature)}
key={feature.properties.location_id} key={feature.properties.id}
> >
<span>{feature.properties.location_id}</span> <span>{feature.properties.id}</span>
<span>{feature.properties.category}</span> <span>{feature.properties.category}</span>
</Button> </Button>
); );

@ -7,7 +7,7 @@ import { useQueryClient } from "@tanstack/react-query";
import { useUpdateStatus } from "../../../hooks/useUpdateStatus"; import { useUpdateStatus } from "../../../hooks/useUpdateStatus";
export const ApproveWorkingPointPopup = ({ feature }) => { export const ApproveWorkingPointPopup = ({ feature }) => {
const featureId = feature.properties.location_id; const featureId = feature.properties.id;
const { setClickedPointConfig } = useClickedPointConfig(); const { setClickedPointConfig } = useClickedPointConfig();
const [status, setStatus] = useState(feature.properties.status); const [status, setStatus] = useState(feature.properties.status);

@ -9,7 +9,7 @@ export const InitialPointPopup = ({ feature }) => {
const { include, selection, exclude } = usePointSelection(); const { include, selection, exclude } = usePointSelection();
const { setClickedPointConfig } = useClickedPointConfig(); const { setClickedPointConfig } = useClickedPointConfig();
const doesMatchFilter = feature.layer.id === LAYER_IDS["initial-match"]; const doesMatchFilter = feature.layer.id === LAYER_IDS["initial-match"];
const featureId = feature.properties.location_id; const featureId = feature.properties.id;
useEffect(() => setClickedPointConfig(featureId, doesMatchFilter), [feature]); useEffect(() => setClickedPointConfig(featureId, doesMatchFilter), [feature]);

@ -3,7 +3,7 @@ import { useEffect } from "react";
import { FeatureProperties } from "./FeatureProperties"; import { FeatureProperties } from "./FeatureProperties";
export const WorkingPointPopup = ({ feature }) => { export const WorkingPointPopup = ({ feature }) => {
const featureId = feature.properties.location_id; const featureId = feature.properties.id;
const { setClickedPointConfig } = useClickedPointConfig(); const { setClickedPointConfig } = useClickedPointConfig();
useEffect(() => setClickedPointConfig(featureId, false), [feature]); useEffect(() => setClickedPointConfig(featureId, false), [feature]);

@ -1,7 +1,7 @@
export const popupConfig = [ export const popupConfig = [
{ {
name: "Id", name: "Id",
field: "location_id", field: "id",
}, },
{ {
name: "Адрес", name: "Адрес",
@ -36,7 +36,7 @@ export const popupConfig = [
export const residentialPointConfig = [ export const residentialPointConfig = [
{ {
name: "Id", name: "Id",
field: "location_id", field: "id",
}, },
{ {
name: "Адрес", name: "Адрес",

File diff suppressed because it is too large Load Diff

@ -16,9 +16,9 @@ export const InitialTable = ({ fullWidth }) => {
useInitialTableData(page, () => setPage(1)); useInitialTableData(page, () => setPage(1));
const getSelectedRowKeys = useCallback(() => { const getSelectedRowKeys = useCallback(() => {
const ids = data?.results.map((item) => item.location_id) ?? []; const ids = data?.results.map((item) => item.id) ?? [];
const clickedPoint = data?.results.find( const clickedPoint = data?.results.find(
(item) => item.location_id === clickedPointConfig?.id (item) => item.id === clickedPointConfig?.id
); );
const inExcludedList = (id) => selection.excluded.has(id); const inExcludedList = (id) => selection.excluded.has(id);
@ -36,7 +36,7 @@ export const InitialTable = ({ fullWidth }) => {
const rowSelection = { const rowSelection = {
selectedRowKeys: getSelectedRowKeys(), selectedRowKeys: getSelectedRowKeys(),
onSelect: (record, selected) => { onSelect: (record, selected) => {
const { location_id: id } = record; const { id } = record;
if (selected) { if (selected) {
include(id); include(id);
} else { } else {

@ -64,7 +64,7 @@ export const Table = React.memo(
}} }}
dataSource={data?.results} dataSource={data?.results}
columns={columns} columns={columns}
rowKey="location_id" rowKey="id"
scroll={SCROLL} scroll={SCROLL}
sticky={true} sticky={true}
onRow={(record) => { onRow={(record) => {
@ -83,7 +83,7 @@ export const Table = React.memo(
rowClassName={(record) => rowClassName={(record) =>
twMerge( twMerge(
"cursor-pointer", "cursor-pointer",
record.location_id === clickedPointConfig?.id && "scroll-row" record.id === clickedPointConfig?.id && "scroll-row"
) )
} }
data-fullwidth={fullWidth} data-fullwidth={fullWidth}

@ -25,7 +25,7 @@ export const useMergeTableData = (fullData, onPageSizeChange) => {
if (!fullData || clickedPointConfig === null) return; if (!fullData || clickedPointConfig === null) return;
const clickedPoint = fullData.results.find( const clickedPoint = fullData.results.find(
(item) => item.location_id === clickedPointConfig.id (item) => item.id === clickedPointConfig.id
); );
if (clickedPoint) { if (clickedPoint) {

@ -1379,6 +1379,11 @@ immer@^9.0.19:
resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.19.tgz#67fb97310555690b5f9cd8380d38fc0aabb6b38b" resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.19.tgz#67fb97310555690b5f9cd8380d38fc0aabb6b38b"
integrity sha512-eY+Y0qcsB4TZKwgQzLaE/lqYMlKhv5J9dyd2RhhtGhNo2njPXDqU9XPfcNfa3MIDsdtZt5KlkIsirlo4dHsWdQ== integrity sha512-eY+Y0qcsB4TZKwgQzLaE/lqYMlKhv5J9dyd2RhhtGhNo2njPXDqU9XPfcNfa3MIDsdtZt5KlkIsirlo4dHsWdQ==
immutable@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.0.tgz#eb1738f14ffb39fd068b1dbe1296117484dd34be"
integrity sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==
import-fresh@^3.2.1: import-fresh@^3.2.1:
version "3.3.0" version "3.3.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"

Loading…
Cancel
Save