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"/>
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
<title>PostNet by Spatial</title>
<script crossorigin src="/assets/index.3ca87fd1.js" type="module"></script>
<link href="/assets/index.327984dc.css" rel="stylesheet">
<script crossorigin src="/assets/index.c6ff2616.js" type="module"></script>
<link href="/assets/index.55fd7218.css" rel="stylesheet">
</head>
<body>
<div id="root"></div>

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

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

@ -1,11 +1,16 @@
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";
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 = () => {
return (
<Source type={"raster"} id={"basemap"} tiles={[url]} tileSize={256}>
<Source type={"raster"} id={"basemap"} tiles={[greyMap]} tileSize={256}>
<Layer
type={"raster"}
source={"basemap"}

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

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

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

@ -34,9 +34,9 @@ const MultipleFeaturesPopup = ({ features, onSelect }) => {
className="flex items-center gap-x-1"
block
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>
</Button>
);

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

@ -9,7 +9,7 @@ export const InitialPointPopup = ({ feature }) => {
const { include, selection, exclude } = usePointSelection();
const { setClickedPointConfig } = useClickedPointConfig();
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]);

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

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

File diff suppressed because it is too large Load Diff

@ -16,9 +16,9 @@ export const InitialTable = ({ fullWidth }) => {
useInitialTableData(page, () => setPage(1));
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(
(item) => item.location_id === clickedPointConfig?.id
(item) => item.id === clickedPointConfig?.id
);
const inExcludedList = (id) => selection.excluded.has(id);
@ -36,7 +36,7 @@ export const InitialTable = ({ fullWidth }) => {
const rowSelection = {
selectedRowKeys: getSelectedRowKeys(),
onSelect: (record, selected) => {
const { location_id: id } = record;
const { id } = record;
if (selected) {
include(id);
} else {

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

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

@ -1379,6 +1379,11 @@ immer@^9.0.19:
resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.19.tgz#67fb97310555690b5f9cd8380d38fc0aabb6b38b"
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:
version "3.3.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"

Loading…
Cancel
Save