aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/lineOfSightApp/src/pluginLineOfSight.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/odlux/apps/lineOfSightApp/src/pluginLineOfSight.tsx')
-rw-r--r--sdnr/wt/odlux/apps/lineOfSightApp/src/pluginLineOfSight.tsx138
1 files changed, 0 insertions, 138 deletions
diff --git a/sdnr/wt/odlux/apps/lineOfSightApp/src/pluginLineOfSight.tsx b/sdnr/wt/odlux/apps/lineOfSightApp/src/pluginLineOfSight.tsx
deleted file mode 100644
index b193cfb22..000000000
--- a/sdnr/wt/odlux/apps/lineOfSightApp/src/pluginLineOfSight.tsx
+++ /dev/null
@@ -1,138 +0,0 @@
-/**
- * ============LICENSE_START========================================================================
- * ONAP : ccsdk feature sdnr wt odlux
- * =================================================================================================
- * Copyright (C) 2021 highstreet technologies GmbH Intellectual Property. All rights reserved.
- * =================================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- * ============LICENSE_END==========================================================================
- */
-
-// app configuration and main entry point for the app
-
-import * as React from "react";
-import { faRoute } from '@fortawesome/free-solid-svg-icons'; // select app icon
-import applicationManager from '../../../framework/src/services/applicationManager';
-
-
-import { lineofSightRootHandler } from './handlers/rootHandler';
-import MainView from "./views/main";
-import applicationApi from "../../../framework/src/services/applicationApi";
-
-import { Redirect, Route, RouteComponentProps, Switch, useLocation, withRouter } from "react-router-dom";
-import connect, { Connect, IDispatcher } from "../../../framework/src/flux/connect";
-import { IApplicationStoreState } from "../../../framework/src/store/applicationStore";
-import { SetPassedInValues, SetReachableAction } from "./actions/commonActions";
-import { TERRAIN_URL, TILE_URL } from "./config";
-import { isNumber } from "./utils/math";
-
-const mapProps = (state: IApplicationStoreState) => ({
-});
-
-const mapDisp = (dispatcher: IDispatcher) => ({
- setPassedInValues: (values: (string | null)[]) => dispatcher.dispatch(SetPassedInValues(values)),
- setReachable: (reachable: boolean) => dispatcher.dispatch(new SetReachableAction(reachable))
-
-});
-
-let lastSearch = "";
-
-const useQuery = () => {
- return new URLSearchParams(useLocation().search);
-}
-
-
-const LineOfSightApplicationRouteAdapter = connect(mapProps, mapDisp)((props: RouteComponentProps<{ mountId?: string }> & Connect<typeof mapProps, typeof mapDisp>) => {
-
- let query = useQuery();
-
- // called when component finshed mounting
- React.useEffect(() => {
- extractAndDispatchUrlValues(props.location.search);
-
- //check tiles/terrain connectivity
- tryCheckConnection();
-
- }, []);
-
-
- const extractAndDispatchUrlValues = (url: string) => {
-
- if (lastSearch !== url) {
- lastSearch = url;
-
- //if mandatory values aren't there, do nothing
- if (areMandatoryParamsPresent(query)) {
- const values = extractValuesFromURL(query);
- props.setPassedInValues(values);
- }
- }
- }
-
- const tryCheckConnection =() =>{
- const terrain = fetch(`${TERRAIN_URL}/`);
- const tiles = fetch(`${TILE_URL}/10/0/0.png`);
-
- Promise.all([terrain, tiles])
- .then((result) => {
- props.setReachable(true);
-
- })
- .catch(error=>{
- console.error("services not reachable.");
- console.error(error);
- props.setReachable(false);
-
- })
-
- }
-
- /***
- *
- * Checks if lat1, lon1, lat2, lon2 were passed in as url parameters
- */
- const areMandatoryParamsPresent = (query: URLSearchParams) => {
-
- return isNumber(query.get("lat1")) && isNumber(query.get("lon1")) && isNumber(query.get("lat2")) && isNumber(query.get("lon2"))
-
- }
-
- const extractValuesFromURL = (query: URLSearchParams) => {
-
- return [query.get("lat1"), query.get("lon1"), query.get("lat2"), query.get("lon2"), query.get("amslA"), query.get("antennaHeightA"), query.get("amslB"), query.get("antennaHeightB")]
- }
-
- return (
- <MainView />
- );
-});
-
-
-const LoSRouterApp = withRouter(connect(mapProps, mapDisp)((props: RouteComponentProps & Connect<typeof mapProps, typeof mapDisp>) => {
-
- return (
- <Switch>
- <Route path={`${props.match.path}`} component={LineOfSightApplicationRouteAdapter} />
- <Redirect to={`${props.match.path}`} />
- </Switch>
- )
-}));
-
-export function register() {
- applicationManager.registerApplication({
- name: "lineOfSight", // used as name of state as well
- icon: faRoute,
- rootActionHandler: lineofSightRootHandler,
- rootComponent: LoSRouterApp,
- menuEntry: "Line of Sight"
- });
-}
-