aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/linkCalculationApp/src/pluginLinkCalculation.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/odlux/apps/linkCalculationApp/src/pluginLinkCalculation.tsx')
-rw-r--r--sdnr/wt/odlux/apps/linkCalculationApp/src/pluginLinkCalculation.tsx99
1 files changed, 64 insertions, 35 deletions
diff --git a/sdnr/wt/odlux/apps/linkCalculationApp/src/pluginLinkCalculation.tsx b/sdnr/wt/odlux/apps/linkCalculationApp/src/pluginLinkCalculation.tsx
index f86b22a5c..a15bf033d 100644
--- a/sdnr/wt/odlux/apps/linkCalculationApp/src/pluginLinkCalculation.tsx
+++ b/sdnr/wt/odlux/apps/linkCalculationApp/src/pluginLinkCalculation.tsx
@@ -24,11 +24,11 @@ import { withRouter, RouteComponentProps, Route, Switch, Redirect } from 'react-
import { faBookOpen } from '@fortawesome/free-solid-svg-icons'; // select app icon
import applicationManager from '../../../framework/src/services/applicationManager';
-import LinkCalculation from './views/linkCalculationComponent';
+import LinkCalculation from './views/linkCalculationComponent';
import LinkCalculationAppRootHandler from './handlers/linkCalculationAppRootHandler';
import connect, { Connect, IDispatcher } from '../../../framework/src/flux/connect';
import { IApplicationStoreState } from "../../../framework/src/store/applicationStore";
-import { UpdateLinkIdAction, UpdateLatLonAction, updateHideForm, UpdateSiteAction, UpdateDistanceAction, isCalculationServerReachableAction, updateAltitudeAction } from "./actions/commonLinkCalculationActions";
+import { UpdateLinkIdAction, UpdateLatLonAction, updateHideForm, UpdateSiteAction, UpdateDistanceAction, isCalculationServerReachableAction, updateAltitudeAction, updateAntennaNameAction, UpdateAntennaGainAction, UpdateWaveguideLossAction } from "./actions/commonLinkCalculationActions";
let currentLinkId: string | null = null;
@@ -41,23 +41,29 @@ const mapProps = (state: IApplicationStoreState) => ({
const mapDisp = (dispatcher: IDispatcher) => ({
updateLinkId: (mountId: string) => dispatcher.dispatch(new UpdateLinkIdAction(mountId)),
- updateSiteName: (siteNameA?:any, siteNameB?:any)=>{
+ updateSiteName: (siteNameA?: any, siteNameB?: any) => {
dispatcher.dispatch(new UpdateSiteAction(siteNameA, siteNameB))
},
- updateDistance :(distance:number) =>{
+ updateDistance: (distance: number) => {
dispatcher.dispatch(new UpdateDistanceAction(distance))
},
- updateLatLon : (Lat1:number, Lon1:number, Lat2:number, Lon2:number)=> {
+ updateLatLon: (Lat1: number, Lon1: number, Lat2: number, Lon2: number) => {
dispatcher.dispatch(new UpdateLatLonAction(Lat1, Lon1, Lat2, Lon2))
- dispatcher.dispatch(new updateHideForm (true))
+ dispatcher.dispatch(new updateHideForm(true))
},
- updateAltitude : (amslA:number, aglA:number, amslB:number, aglB:number) => {
- dispatcher.dispatch(new updateAltitudeAction(amslA,aglA,amslB,aglB))
+ updateAltitude: (amslA: number, aglA: number, amslB: number, aglB: number) => {
+ dispatcher.dispatch(new updateAltitudeAction(amslA, aglA, amslB, aglB))
+ },
+ updateAntennaName: (antennaNameA: string, antennaNameB: string) => {
+ dispatcher.dispatch(new updateAntennaNameAction(antennaNameA, antennaNameB))
+ },
+ updateAntennaGainAction: (antennaGainA: number, antennaGainB: number) => {
+ dispatcher.dispatch(new UpdateAntennaGainAction(antennaGainA, antennaGainB))
+ },
+ updateWaveguideLossAction: (waveguideLossA: number, waveguideLossB: number) => {
+ dispatcher.dispatch(new UpdateWaveguideLossAction(waveguideLossA, waveguideLossB))
}
- // UpdateConectivity : (reachable:boolean) => {
- // dispatcher.dispatch (new isCalculationServerReachableAction (reachable))
- // }
});
@@ -70,45 +76,68 @@ const LinkCalculationRouteAdapter = connect(mapProps, mapDisp)((props: RouteComp
lastUrl = props.location.pathname;
linkId = getLinkId(lastUrl);
- const data= props.location.search
+ const data = props.location.search
+
-
- if (data !== undefined && data.length>0){
+ if (data !== undefined && data.length > 0) {
-
- const lat1 = data.split('&')[0].split('=')[1]
- const lon1 = data.split('&')[1].split('=')[1]
- const lat2 = data.split('&')[2].split('=')[1]
- const lon2 = data.split('&')[3].split('=')[1]
- const siteNameA = data.split('&')[4].split('=')[1]
- const siteNameB = data.split('&')[5].split('=')[1]
+ const lat1 = data.split('&')[0].split('=')[1]
+ const lon1 = data.split('&')[1].split('=')[1]
+ const lat2 = data.split('&')[2].split('=')[1]
+ const lon2 = data.split('&')[3].split('=')[1]
- const distance = data.split('&')[8].split('=')[1]
+ const siteNameA = data.split('&')[4].split('=')[1]
+ const siteNameB = data.split('&')[5].split('=')[1]
- const amslA = data.split('&')[9].split('=')[1]
- const aglA = data.split('&')[10].split('=')[1]
+ const distance = data.split('&')[8].split('=')[1]
- const amslB = data.split('&')[11].split('=')[1]
- const aglB = data.split('&')[12].split('=')[1]
+ const amslA = data.split('&')[9].split('=')[1]
+ const aglA = data.split('&')[10].split('=')[1]
+ const amslB = data.split('&')[11].split('=')[1]
+ const aglB = data.split('&')[12].split('=')[1]
- props.updateSiteName(String(siteNameA), String(siteNameB))
+ const antennaNameA = data.split('&')[13].split('=')[1].replace("%20", " ")
+ const antennaGainA = data.split('&')[14].split('=')[1]
+ const waveguideLossA = data.split('&')[15].split('=')[1]
+ const antennaNameB = data.split('&')[16].split('=')[1].replace("%20", " ")
+ const antennaGainB = data.split('&')[17].split('=')[1]
+ const waveguideLossB = data.split('&')[18].split('=')[1]
- props.updateDistance(Number(distance))
- props.updateLatLon(Number(lat1),Number(lon1),Number(lat2),Number(lon2))
+ if (siteNameA !== null && siteNameB !== null) {
+ props.updateSiteName(String(siteNameA), String(siteNameB))
+ }
- props.updateAltitude (Number(amslA), Number(aglA), Number(amslB), Number(aglB))
-
+ if (Number(distance) !== null) {
+ props.updateDistance(Number(distance))
+ }
+ if (Number(lat1) >= -90 && Number(lat2) >= -90 && Number(lat1) <= 90 && Number(lat2) <= 90 && Number(lon1) >= -180 && Number(lon2) >= -180 && Number(lon1) <= 180 && Number(lon2) <= 180) {
+ props.updateLatLon(Number(lat1), Number(lon1), Number(lat2), Number(lon2))
+ }
+ if (Number(amslA)> 0 && Number(amslB)> 0) {
+ if (Number(aglA)>= Number(amslA) && Number(aglB)>= Number(amslB)) {
+ props.updateAltitude(Number(amslA), Number(aglA), Number(amslB), Number(aglB))
+ }
+ }
+ if (antennaNameA && antennaNameB.length) {
+ props.updateAntennaName(String(antennaNameA), String(antennaNameB))
+ }
+ if (Number(antennaGainA) > 0 && Number(antennaGainA) > 0) {
+ props.updateAntennaGainAction(Number(antennaGainA), Number(antennaGainB))
+ }
+ if(Number(waveguideLossA) !== null, Number(waveguideLossB) !== null){
+ props.updateWaveguideLossAction(Number(waveguideLossA),Number(waveguideLossB) )
+ }
}
-
+
if (currentLinkId !== linkId) { // new element is loaded
currentLinkId = linkId;
props.updateLinkId(currentLinkId);
- }
+ }
}, []);
// called when component gets updated
@@ -126,7 +155,7 @@ const LinkCalculationRouteAdapter = connect(mapProps, mapDisp)((props: RouteComp
const getLinkId = (lastUrl: string) => {
let index = lastUrl.lastIndexOf("linkCalculation/");
if (index >= 0) {
- linkId = lastUrl.substr(index+16);
+ linkId = lastUrl.substr(index + 16);
} else {
linkId = "";
}
@@ -134,7 +163,7 @@ const LinkCalculationRouteAdapter = connect(mapProps, mapDisp)((props: RouteComp
return linkId;
}
-
+
return (
<LinkCalculation />
);