CEC-3595-invalid-locations (#276)
* CEC-3595-invalid-locations * fix ci * added validate function * resolve comments:
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
import { LocalDateTimeString } from "../../utils/dates";
|
import { LocalDateTimeString } from "../../utils/dates";
|
||||||
|
import { ValidateLocationByParam } from "../../utils/locations"
|
||||||
import useStyles from "../useStyles";
|
import useStyles from "../useStyles";
|
||||||
|
|
||||||
const keyValueTemplate = (key, value) => (
|
const keyValueTemplate = (key, value) => (
|
||||||
@@ -83,6 +84,9 @@ const DigitalTwin = (props) => {
|
|||||||
<div className={classes.popupSection}>
|
<div className={classes.popupSection}>
|
||||||
<h3>Location</h3>
|
<h3>Location</h3>
|
||||||
{Object.entries(location).map((value) => {
|
{Object.entries(location).map((value) => {
|
||||||
|
if (ValidateLocationByParam(value[0], value[1]) === false) {
|
||||||
|
return keyValueTemplate(value[0], "Invalid")
|
||||||
|
}
|
||||||
if (value[0] === "altitude") {
|
if (value[0] === "altitude") {
|
||||||
return keyValueTemplate(value[0], value[1]);
|
return keyValueTemplate(value[0], value[1]);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import { Button } from "@material-ui/core";
|
|||||||
import { useUserContext } from "../Contexts/UserContext";
|
import { useUserContext } from "../Contexts/UserContext";
|
||||||
import { useVehicleContext, VehicleProvider } from "../Contexts/VehicleContext";
|
import { useVehicleContext, VehicleProvider } from "../Contexts/VehicleContext";
|
||||||
import { VehiclePopUp } from "./popup";
|
import { VehiclePopUp } from "./popup";
|
||||||
|
import { ValidateLocationData } from "../../utils/locations"
|
||||||
import GreenMarkerIcon from "../../assets/green-marker.png";
|
import GreenMarkerIcon from "../../assets/green-marker.png";
|
||||||
import GrayMarkerIcon from "../../assets/gray-marker.png";
|
import GrayMarkerIcon from "../../assets/gray-marker.png";
|
||||||
import { logger } from "../../services/monitoring";
|
import { logger } from "../../services/monitoring";
|
||||||
@@ -44,7 +45,7 @@ const Component = () => {
|
|||||||
const retrieveAndStoreLocations = (accessToken) => {
|
const retrieveAndStoreLocations = (accessToken) => {
|
||||||
return getLocations(accessToken)
|
return getLocations(accessToken)
|
||||||
.then((result) => {
|
.then((result) => {
|
||||||
if (result.data != null) {
|
if (result.data != null && ValidateLocationData(result.data) !== false) {
|
||||||
const points = result.data.map((point) => [
|
const points = result.data.map((point) => [
|
||||||
point.latitude,
|
point.latitude,
|
||||||
point.longitude,
|
point.longitude,
|
||||||
|
|||||||
22
src/utils/locations.js
Normal file
22
src/utils/locations.js
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
export const ValidateLocationData = (location) => {
|
||||||
|
if (Math.abs(location.latitude) > 90 || Math.abs(location.longitude) > 180) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (location.altitude === 1401) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const ValidateLocationByParam = (parameter, value) => {
|
||||||
|
switch (parameter) {
|
||||||
|
case "latitude":
|
||||||
|
return Math.abs(value) <= 90;
|
||||||
|
case "longitude":
|
||||||
|
return Math.abs(value) <= 180;
|
||||||
|
case "altitude":
|
||||||
|
return value !== 1401;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user