From 61ec3fcfff4448d840d883db98cd0d8ed925e054 Mon Sep 17 00:00:00 2001 From: Ramesh Kumar <ramesh.p@matriotsolutions.com> Date: Mon, 5 Apr 2021 21:14:08 +0530 Subject: [PATCH] TMSS-577: Mimimum validation and negative value parsing added. --- .../tmss_webapp/src/components/JSONEditor/JEditor.js | 2 +- SAS/TMSS/frontend/tmss_webapp/src/utils/unit.converter.js | 8 +++++--- SAS/TMSS/frontend/tmss_webapp/src/utils/validator.js | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/SAS/TMSS/frontend/tmss_webapp/src/components/JSONEditor/JEditor.js b/SAS/TMSS/frontend/tmss_webapp/src/components/JSONEditor/JEditor.js index 5af6f357d38..fce56dec489 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/components/JSONEditor/JEditor.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/components/JSONEditor/JEditor.js @@ -163,7 +163,7 @@ function Jeditor(props) { errors.push({ path: path, property: 'validationType', - message: 'Not a valid input. Mimimum: 00:00:00.0000degrees 0r 0, Maximum:90:00:00.0000degrees or 1.5708' + message: 'Not a valid input. Mimimum: -90:00:00.0000degrees 0r -1.57079632679489661923, Maximum:90:00:00.0000degrees or 1.57079632679489661923' }); } } else if (schema.validationType === "distanceOnSky") { diff --git a/SAS/TMSS/frontend/tmss_webapp/src/utils/unit.converter.js b/SAS/TMSS/frontend/tmss_webapp/src/utils/unit.converter.js index 17569078541..3c94e1d623d 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/utils/unit.converter.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/utils/unit.converter.js @@ -65,12 +65,14 @@ const UnitConverter = { */ getAngleInput(prpInput, isDegree) { if (prpInput){ + const isNegative = prpInput<0; + prpInput = prpInput * (isNegative?-1:1); const degrees = prpInput * 180 / Math.PI; if (isDegree) { const dd = Math.floor(prpInput * 180 / Math.PI); const mm = Math.floor((degrees-dd) * 60); const ss = round((degrees-dd-(mm/60)) * 3600,4); - return (dd<10?`0${dd}`:`${dd}`) + 'd' + (mm<10?`0${mm}`:`${mm}`) + 'm' + (ss<10?`0${ss}`:`${ss}`) + 's'; + return (isNegative?'-':'') + (dd<10?`0${dd}`:`${dd}`) + 'd' + (mm<10?`0${mm}`:`${mm}`) + 'm' + (ss<10?`0${ss}`:`${ss}`) + 's'; } else { const hh = Math.floor(degrees/15); const mm = Math.floor((degrees - (hh*15))/15 * 60 ); @@ -78,7 +80,7 @@ const UnitConverter = { return (hh<10?`0${hh}`:`${hh}`) + 'h' + (mm<10?`0${mm}`:`${mm}`) + 'm' + (ss<10?`0${ss}`:`${ss}`) + 's'; } } else { - return "00:00:00"; + return isDegree?"0d0m0s":'0h0m0s'; } }, @@ -121,7 +123,7 @@ const UnitConverter = { return 'deg_format'; } else if (input.match(/^([0-1]?\d|2[0-3]):([0-5]?\d):([0-5]?\d)(\.\d{1,4})? ?h(our)?s?$/)) { return 'hour_format'; - } else if (input.match(/^[0-6](.\d+)?$/)) { + } else if (input.match(/^\-?[0-6](.\d{1,20})?$/)) { return 'radians'; } else { return null; diff --git a/SAS/TMSS/frontend/tmss_webapp/src/utils/validator.js b/SAS/TMSS/frontend/tmss_webapp/src/utils/validator.js index 876f4574c47..f7612d15d63 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/utils/validator.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/utils/validator.js @@ -4,7 +4,7 @@ const Validator = { validateTime(value) { const angleType = UnitConverter.getAngleInputType(value); if (angleType && ['hms', 'hours', 'hour_format', 'radians'].indexOf(angleType)>=0) { - if (angleType === 'radians' && parseFloat(value) > 6.2830) { + if (angleType === 'radians' && (parseFloat(value)<0 || parseFloat(value) > 6.2831)) { return false; } return true; @@ -14,7 +14,7 @@ const Validator = { validateAngle(value) { const angleType = UnitConverter.getAngleInputType(value); if (angleType && ['dms', 'degrees', 'deg_format', 'radians'].indexOf(angleType)>=0) { - if (angleType === 'radians' && parseFloat(value) > 1.5707) { + if (angleType === 'radians' && (parseFloat(value) < -1.57079632679489661923 || parseFloat(value) > 1.57079632679489661923)) { return false; } return true; -- GitLab