aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/performanceHistoryApp
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/odlux/apps/performanceHistoryApp')
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/package.json2
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/connectedNetworkElementsActions.ts37
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/ltpAction.ts17
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/panelChangeActions.ts17
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/timeChangeAction.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/components/adaptiveModulation.tsx119
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/components/crossPolarDiscrimination.tsx54
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/components/performanceData.tsx46
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/components/receiveLevel.tsx52
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/components/signalToInterference.tsx55
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/components/temperature.tsx54
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/components/transmissionPower.tsx54
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulation15minHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulation24hoursHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulationHandler.ts96
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/availableLtpsActionHandler.ts19
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/connectedNetworkElementsActionHandler.ts17
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscrimination15minHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscrimination24hoursHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscriminationHandler.ts63
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceData15minHandler.ts28
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceData24hoursHandler.ts28
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceDataHandler.ts65
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceHistoryRootHandler.ts106
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevel15minHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevel24hoursHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevelHandler.ts63
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterference15minHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterference24hoursHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterferenceHandler.ts63
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperature15minHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperature24hoursHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperatureHandler.ts63
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPower15minHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPower24hoursHandler.ts28
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPowerHandler.ts63
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/adaptiveModulationDataType.ts148
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/availableLtps.ts17
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/chartTypes.ts54
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/crossPolarDiscriminationDataType.ts52
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/performanceDataType.ts64
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/receiveLevelDataType.ts49
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/signalToInteferenceDataType.ts53
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/temperatureDataType.ts53
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/topologyNetConf.ts17
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/models/transmissionPowerDataType.ts52
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/plugin.tsx102
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/services/performanceHistoryService.ts17
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/chartUtils.tsx90
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/tableUtils.ts31
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/views/performanceHistoryApplication.tsx441
51 files changed, 1797 insertions, 1000 deletions
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/package.json b/sdnr/wt/odlux/apps/performanceHistoryApp/package.json
index 74b4d9c68..290046ef5 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/package.json
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/package.json
@@ -19,7 +19,7 @@
"framework"
],
"author": "Sai Neetha Phulmali",
- "license": "Apache License, Version 2.0",
+ "license": "Apache-2.0",
"dependencies": {
"@odlux/framework" : "*",
"@odlux/connect-app": "*",
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/connectedNetworkElementsActions.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/connectedNetworkElementsActions.ts
index 8f7e99c40..97d531608 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/connectedNetworkElementsActions.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/connectedNetworkElementsActions.ts
@@ -1,3 +1,20 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
import { Action } from '../../../../framework/src/flux/action';
import { Dispatch } from '../../../../framework/src/flux/store';
import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore';
@@ -32,6 +49,7 @@ export class AllConnectedNetworkElementsLoadedAction extends BaseAction {
* Represents an asynchronous thunk action to load all connected network element Ids.
*/
export const loadAllConnectedNetworkElementsAsync = (dispatch: Dispatch, getState: () => IApplicationStoreState) => {
+ window.setTimeout(() => {
dispatch(new LoadAllConnectedNetworkElementsAction());
const connectedNetworkElementsIds = getState().connect.mountedNetworkElements;
let mountIdList: ConnectedNetworkElementIds[] = [];
@@ -47,4 +65,21 @@ export const loadAllConnectedNetworkElementsAsync = (dispatch: Dispatch, getStat
return 0;
});
dispatch(new AllConnectedNetworkElementsLoadedAction(mountIdList));
-}; \ No newline at end of file
+ }, 500);
+};
+
+/**
+ * Represents an action causing the store to update mountId.
+ */
+export class UpdateMountId extends BaseAction {
+ constructor (public nodeId?: string) {
+ super();
+ }
+}
+
+/**
+ * Represents an asynchronous thunk action to load updated mountId.
+ */
+export const updateMountIdActionCreator = (nodeId: string ) => async (dispatch: Dispatch) => {
+ return dispatch(new UpdateMountId(nodeId));
+}
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/ltpAction.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/ltpAction.ts
index 577066cee..2741d889a 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/ltpAction.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/ltpAction.ts
@@ -1,3 +1,20 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
import { Action } from '../../../../framework/src/flux/action';
import { Dispatch } from '../../../../framework/src/flux/store';
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/panelChangeActions.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/panelChangeActions.ts
index 82072c7fe..8b77cb3b0 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/panelChangeActions.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/panelChangeActions.ts
@@ -1,3 +1,20 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
import { Action } from '../../../../framework/src/flux/action';
import { PanelId } from '../models/panelId';
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/timeChangeAction.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/timeChangeAction.ts
new file mode 100644
index 000000000..a069af13c
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/actions/timeChangeAction.ts
@@ -0,0 +1,29 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
+import { Action } from '../../../../framework/src/flux/action';
+import { PmDataInterval } from '../models/performanceDataType';
+
+export class TimeChangeAction extends Action {
+ /**
+ * Initialize this instance.
+ * @param time Action to set the time interval in dropdown.
+ */
+ constructor(public time: PmDataInterval) {
+ super();
+ }
+} \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/adaptiveModulation.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/adaptiveModulation.tsx
index 281ee2f8d..2564d574a 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/adaptiveModulation.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/adaptiveModulation.tsx
@@ -1,3 +1,20 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
import * as React from 'react';
import { withRouter, RouteComponentProps } from 'react-router-dom';
@@ -8,19 +25,16 @@ import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/co
import { AdaptiveModulationDataType } from '../models/adaptiveModulationDataType';
import { IDataSet, IDataSetsObject } from '../models/chartTypes';
-import { createAdaptiveModulation15minProperties, createAdaptiveModulation15minActions } from '../handlers/adaptiveModulation15minHandler';
-import { createAdaptiveModulation24hoursProperties, createAdaptiveModulation24hoursActions } from '../handlers/adaptiveModulation24hoursHandler';
+import { createAdaptiveModulationProperties, createAdaptiveModulationActions } from '../handlers/adaptiveModulationHandler';
import { lineChart, sortDataByTimeStamp } from '../utils/chartUtils';
import { addColumnLabels } from '../utils/tableUtils';
const mapProps = (state: IApplicationStoreState) => ({
- adaptiveModulation15minProperties: createAdaptiveModulation15minProperties(state),
- adaptiveModulation24hoursProperties: createAdaptiveModulation24hoursProperties(state)
+ adaptiveModulationProperties: createAdaptiveModulationProperties(state),
});
const mapDisp = (dispatcher: IDispatcher) => ({
- adaptiveModulation15minActions: createAdaptiveModulation15minActions(dispatcher.dispatch),
- adaptiveModulation24hoursActions: createAdaptiveModulation24hoursActions(dispatcher.dispatch)
+ adaptiveModulationActions: createAdaptiveModulationActions(dispatcher.dispatch),
});
type AdaptiveModulationComponentProps = RouteComponentProps & Connect<typeof mapProps, typeof mapDisp> & {
@@ -34,22 +48,17 @@ const AdaptiveModulationTable = MaterialTable as MaterialTableCtorType<AdaptiveM
*/
class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComponentProps>{
render(): JSX.Element {
- const properties = this.props.selectedTimePeriod === "15min"
- ? this.props.adaptiveModulation15minProperties
- : this.props.adaptiveModulation24hoursProperties;
-
- const actions = this.props.selectedTimePeriod === "15min"
- ? this.props.adaptiveModulation15minActions
- : this.props.adaptiveModulation24hoursActions;
+ const properties = this.props.adaptiveModulationProperties;
+ const actions = this.props.adaptiveModulationActions;
const chartPagedData = this.getChartDataValues(properties.rows);
const adaptiveModulationColumns: ColumnModel<AdaptiveModulationDataType>[] = [
- { property: "radio-signal-id", title: "Radio signal", type: ColumnType.text },
- { property: "scanner-id", title: "Scanner ID", type: ColumnType.text },
- { property: "time-stamp", title: "End Time", type: ColumnType.text, disableFilter: true },
+ { property: "radioSignalId", title: "Radio signal", type: ColumnType.text },
+ { property: "scannerId", title: "Scanner ID", type: ColumnType.text },
+ { property: "utcTimeStamp", title: "End Time", type: ColumnType.text, disableFilter: true },
{
- property: "suspect-interval-flag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
- const suspectIntervalFlag = rowData["suspect-interval-flag"].toString();
+ property: "suspectIntervalFlag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
+ const suspectIntervalFlag = rowData["suspectIntervalFlag"].toString();
return <div >{suspectIntervalFlag} </div>
}
}];
@@ -76,7 +85,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
sortDataByTimeStamp(_rows);
const datasets: IDataSet[] = [{
- name: "time2-states-s",
+ name: "time2StatesS",
label: "QAM2S",
borderColor: '#62a309fc',
bezierCurve: false,
@@ -85,7 +94,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM2S",
}, {
- name: "time2-states",
+ name: "time2States",
label: "QAM2",
borderColor: '#62a309fc',
bezierCurve: false,
@@ -94,7 +103,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM2",
}, {
- name: "time2-states-l",
+ name: "time2StatesL",
label: "QAM2L",
borderColor: '#62a309fc',
bezierCurve: false,
@@ -103,7 +112,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM2L",
}, {
- name: "time4-states-s",
+ name: "time4StatesS",
label: "QAM4S",
borderColor: '#b308edde',
bezierCurve: false,
@@ -112,7 +121,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM4S",
}, {
- name: "time4-states",
+ name: "time4States",
label: "QAM4",
borderColor: '#b308edde',
bezierCurve: false,
@@ -121,7 +130,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM4",
}, {
- name: "time4-states-l",
+ name: "time4StatesL",
label: "QAM4L",
borderColor: '#b308edde',
bezierCurve: false,
@@ -130,7 +139,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM4L",
}, {
- name: "time16-states-s",
+ name: "time16StatesS",
label: "QAM16S",
borderColor: '#9b15e2',
bezierCurve: false,
@@ -139,7 +148,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM16S",
}, {
- name: "time16-states",
+ name: "time16States",
label: "QAM16",
borderColor: '#9b15e2',
bezierCurve: false,
@@ -148,7 +157,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM16",
}, {
- name: "time16-states-l",
+ name: "time16StatesL",
label: "QAM16L",
borderColor: '#9b15e2',
bezierCurve: false,
@@ -157,7 +166,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM16L",
}, {
- name: "time32-states-s",
+ name: "time32StatesS",
label: "QAM32S",
borderColor: '#2704f5f0',
bezierCurve: false,
@@ -166,7 +175,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM32S",
}, {
- name: "time32-states",
+ name: "time32States",
label: "QAM32",
borderColor: '#2704f5f0',
bezierCurve: false,
@@ -175,7 +184,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM32",
}, {
- name: "time32-states-l",
+ name: "time32StatesL",
label: "QAM32L",
borderColor: '#2704f5f0',
bezierCurve: false,
@@ -184,7 +193,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM32L",
}, {
- name: "time64-states-s",
+ name: "time64StatesS",
label: "QAM64S",
borderColor: '#347692',
bezierCurve: false,
@@ -193,7 +202,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM64S",
}, {
- name: "time64-states",
+ name: "time64States",
label: "QAM64",
borderColor: '#347692',
bezierCurve: false,
@@ -202,7 +211,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM64",
}, {
- name: "time64-states-l",
+ name: "time64StatesL",
label: "QAM64L",
borderColor: '#347692',
bezierCurve: false,
@@ -211,7 +220,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM64L",
}, {
- name: "time128-states-s",
+ name: "time128StatesS",
label: "QAM128S",
borderColor: '#885e22',
bezierCurve: false,
@@ -220,7 +229,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM128S",
}, {
- name: "time128-states",
+ name: "time128States",
label: "QAM128",
borderColor: '#885e22',
bezierCurve: false,
@@ -229,7 +238,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM128",
}, {
- name: "time128-states-l",
+ name: "time128StatesL",
label: "QAM128L",
borderColor: '#885e22',
bezierCurve: false,
@@ -238,7 +247,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM128L",
}, {
- name: "time256-states-s",
+ name: "time256StatesS",
label: "QAM256S",
borderColor: '#de07807a',
bezierCurve: false,
@@ -247,7 +256,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM256S",
}, {
- name: "time256-states",
+ name: "time256States",
label: "QAM256",
borderColor: '#de07807a',
bezierCurve: false,
@@ -256,7 +265,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM256",
}, {
- name: "time256-states-l",
+ name: "time256StatesL",
label: "QAM256L",
borderColor: '#de07807a',
bezierCurve: false,
@@ -265,7 +274,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM256L",
}, {
- name: "time512-states-s",
+ name: "time512StatesS",
label: "QAM512S",
borderColor: '#8fdaacde',
bezierCurve: false,
@@ -274,7 +283,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM512S",
}, {
- name: "time512-states",
+ name: "time512States",
label: "QAM512",
borderColor: '#8fdaacde',
bezierCurve: false,
@@ -284,7 +293,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
columnLabel: "QAM512",
}, {
- name: "time512-states-l",
+ name: "time512StatesL",
label: "QAM512L",
borderColor: '#8fdaacde',
bezierCurve: false,
@@ -294,7 +303,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
columnLabel: "QAM512L",
}, {
- name: "time1024-states-s",
+ name: "time1024StatesS",
label: "QAM1024S",
borderColor: '#435b22',
bezierCurve: false,
@@ -304,7 +313,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
columnLabel: "QAM1024S",
}, {
- name: "time1024-states",
+ name: "time1024States",
label: "QAM1024",
borderColor: '#435b22',
bezierCurve: false,
@@ -314,7 +323,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
columnLabel: "QAM1024",
}, {
- name: "time1024-states-l",
+ name: "time1024StatesL",
label: "QAM1024L",
borderColor: '#435b22',
bezierCurve: false,
@@ -323,7 +332,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM1024L",
}, {
- name: "time2048-states-s",
+ name: "time2048StatesS",
label: "QAM2048S",
borderColor: '#e87a5b',
bezierCurve: false,
@@ -332,7 +341,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM2048S",
}, {
- name: "time2048-states",
+ name: "time2048States",
label: "QAM2048",
borderColor: '#e87a5b',
bezierCurve: false,
@@ -341,7 +350,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM2048",
}, {
- name: "time2048-states-l",
+ name: "time2048StatesL",
label: "QAM2048L",
borderColor: '#e87a5b',
bezierCurve: false,
@@ -350,7 +359,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM2048L",
}, {
- name: "time4096-states-s",
+ name: "time4096StatesS",
label: "QAM4096S",
borderColor: '#5be878',
bezierCurve: false,
@@ -359,7 +368,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM4096S",
}, {
- name: "time4096-states",
+ name: "time4096States",
label: "QAM4096",
borderColor: '#5be878',
bezierCurve: false,
@@ -368,7 +377,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM4096",
}, {
- name: "time4096-states-l",
+ name: "time4096StatesL",
label: "QAM4096L",
borderColor: '#5be878',
bezierCurve: false,
@@ -377,7 +386,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM4096L",
}, {
- name: "time8192-states-s",
+ name: "time8192StatesS",
label: "QAM8192s",
borderColor: '#cb5be8',
bezierCurve: false,
@@ -386,7 +395,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM8192S",
}, {
- name: "time8192-states",
+ name: "time8192States",
label: "QAM8192",
borderColor: '#cb5be8',
bezierCurve: false,
@@ -395,7 +404,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
data: [],
columnLabel: "QAM8192",
}, {
- name: "time8192-states-l",
+ name: "time8192StatesL",
label: "QAM8192L",
borderColor: '#cb5be8',
bezierCurve: false,
@@ -409,7 +418,7 @@ class AdaptiveModulationComponent extends React.Component<AdaptiveModulationComp
_rows.forEach(row => {
datasets.forEach(ds => {
ds.data.push({
- x: row["time-stamp"],
+ x: row["utcTimeStamp" as keyof AdaptiveModulationDataType] as string,
y: row[ds.name as keyof AdaptiveModulationDataType] as string
});
});
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/crossPolarDiscrimination.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/crossPolarDiscrimination.tsx
index 42e3f93a6..8718171f7 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/crossPolarDiscrimination.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/crossPolarDiscrimination.tsx
@@ -1,3 +1,20 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
import * as React from 'react';
import { withRouter, RouteComponentProps } from 'react-router-dom';
@@ -8,19 +25,16 @@ import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/co
import { CrossPolarDiscriminationDataType } from '../models/crossPolarDiscriminationDataType';
import { IDataSet, IDataSetsObject } from '../models/chartTypes';
-import { createCrossPolarDiscrimination15minProperties, createCrossPolarDiscrimination15minActions } from '../handlers/crossPolarDiscrimination15minHandler';
-import { createCrossPolarDiscrimination24hoursProperties, createCrossPolarDiscrimination24hoursActions } from '../handlers/crossPolarDiscrimination24hoursHandler';
+import { createCrossPolarDiscriminationProperties, createCrossPolarDiscriminationActions } from '../handlers/crossPolarDiscriminationHandler';
import { lineChart, sortDataByTimeStamp } from '../utils/chartUtils';
import { addColumnLabels } from '../utils/tableUtils';
const mapProps = (state: IApplicationStoreState) => ({
- crossPolarDiscrimination15minProperties: createCrossPolarDiscrimination15minProperties(state),
- crossPolarDiscrimination24hoursProperties: createCrossPolarDiscrimination24hoursProperties(state)
+ crossPolarDiscriminationProperties: createCrossPolarDiscriminationProperties(state),
});
const mapDisp = (dispatcher: IDispatcher) => ({
- crossPolarDiscrimination15minActions: createCrossPolarDiscrimination15minActions(dispatcher.dispatch),
- crossPolarDiscrimination24hoursActions: createCrossPolarDiscrimination24hoursActions(dispatcher.dispatch)
+ crossPolarDiscriminationActions: createCrossPolarDiscriminationActions(dispatcher.dispatch),
});
type CrossPolarDiscriminationComponentProps = RouteComponentProps & Connect<typeof mapProps, typeof mapDisp> & {
@@ -34,27 +48,23 @@ const CrossPolarDiscriminationTable = MaterialTable as MaterialTableCtorType<Cro
*/
class CrossPolarDiscriminationComponent extends React.Component<CrossPolarDiscriminationComponentProps>{
render(): JSX.Element {
- const properties = this.props.selectedTimePeriod === "15min"
- ? this.props.crossPolarDiscrimination15minProperties
- : this.props.crossPolarDiscrimination24hoursProperties;
- const actions = this.props.selectedTimePeriod === "15min"
- ? this.props.crossPolarDiscrimination15minActions
- : this.props.crossPolarDiscrimination24hoursActions;
+ const properties = this.props.crossPolarDiscriminationProperties;
+ const actions = this.props.crossPolarDiscriminationActions;
const chartPagedData = this.getChartDataValues(properties.rows);
const cpdColumns: ColumnModel<CrossPolarDiscriminationDataType>[] = [
- { property: "radio-signal-id", title: "Radio signal", type: ColumnType.text },
- { property: "scanner-id", title: "Scanner ID", type: ColumnType.text },
- { property: "time-stamp", title: "End Time", type: ColumnType.text, disableFilter: true },
+ { property: "radioSignalId", title: "Radio signal", type: ColumnType.text },
+ { property: "scannerId", title: "Scanner ID", type: ColumnType.text },
+ { property: "utcTimeStamp", title: "End Time", type: ColumnType.text, disableFilter: true },
{
- property: "suspect-interval-flag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
- const suspectIntervalFlag = rowData["suspect-interval-flag"].toString();
+ property: "suspectIntervalFlag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
+ const suspectIntervalFlag = rowData["suspectIntervalFlag"].toString();
return <div >{suspectIntervalFlag} </div>
}
}
];
-
+
chartPagedData.datasets.forEach(ds => {
cpdColumns.push(addColumnLabels<CrossPolarDiscriminationDataType>(ds.name, ds.columnLabel));
});
@@ -75,7 +85,7 @@ class CrossPolarDiscriminationComponent extends React.Component<CrossPolarDiscri
sortDataByTimeStamp(_rows);
const datasets: IDataSet[] = [{
- name: "xpd-min",
+ name: "xpdMin",
label: "xpd-min",
borderColor: '#0e17f3de',
bezierCurve: false,
@@ -84,7 +94,7 @@ class CrossPolarDiscriminationComponent extends React.Component<CrossPolarDiscri
data: [],
columnLabel: "CPD (min)[db]"
}, {
- name: "xpd-avg",
+ name: "xpdAvg",
label: "xpd-avg",
borderColor: '#08edb6de',
bezierCurve: false,
@@ -93,7 +103,7 @@ class CrossPolarDiscriminationComponent extends React.Component<CrossPolarDiscri
data: [],
columnLabel: "CPD (avg)[db]"
}, {
- name: "xpd-max",
+ name: "xpdMax",
label: "xpd-max",
borderColor: '#b308edde',
bezierCurve: false,
@@ -106,7 +116,7 @@ class CrossPolarDiscriminationComponent extends React.Component<CrossPolarDiscri
_rows.forEach(row => {
datasets.forEach(ds => {
ds.data.push({
- x: row["time-stamp"],
+ x: row["utcTimeStamp" as keyof CrossPolarDiscriminationDataType] as string,
y: row[ds.name as keyof CrossPolarDiscriminationDataType] as string
});
});
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/performanceData.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/performanceData.tsx
index 578022db7..fc44879dc 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/performanceData.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/performanceData.tsx
@@ -1,3 +1,20 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
import * as React from 'react';
import { withRouter, RouteComponentProps } from 'react-router-dom';
@@ -7,19 +24,16 @@ import { IApplicationStoreState } from '../../../../framework/src/store/applicat
import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/connect';
import { PerformanceDataType } from '../models/performanceDataType';
import { IDataSet, IDataSetsObject } from '../models/chartTypes';
-import { createPerformanceData15minProperties, createPerformanceData15minActions } from '../handlers/performanceData15minHandler';
-import { createPerformanceData24hoursProperties, createPerformanceData24hoursActions } from '../handlers/performanceData24hoursHandler';
+import { createPerformanceDataProperties, createPerformanceDataActions } from '../handlers/performanceDataHandler';
import { lineChart, sortDataByTimeStamp } from '../utils/chartUtils';
import { addColumnLabels } from '../utils/tableUtils';
const mapProps = (state: IApplicationStoreState) => ({
- performanceData15minProperties: createPerformanceData15minProperties(state),
- performanceData24hoursProperties: createPerformanceData24hoursProperties(state)
+ performanceDataProperties: createPerformanceDataProperties(state),
});
const mapDisp = (dispatcher: IDispatcher) => ({
- performanceData15minActions: createPerformanceData15minActions(dispatcher.dispatch),
- performanceData24hoursActions: createPerformanceData24hoursActions(dispatcher.dispatch)
+ performanceDataActions: createPerformanceDataActions(dispatcher.dispatch),
});
type PerformanceDataComponentProps = RouteComponentProps & Connect<typeof mapProps, typeof mapDisp> & {
@@ -33,21 +47,17 @@ const PerformanceDataTable = MaterialTable as MaterialTableCtorType<PerformanceD
*/
class PerformanceDataComponent extends React.Component<PerformanceDataComponentProps>{
render(): JSX.Element {
- const properties = this.props.selectedTimePeriod === "15min"
- ? this.props.performanceData15minProperties
- : this.props.performanceData24hoursProperties;
- const actions = this.props.selectedTimePeriod === "15min"
- ? this.props.performanceData15minActions
- : this.props.performanceData24hoursActions;
+ const properties = this.props.performanceDataProperties;
+ const actions = this.props.performanceDataActions;
const chartPagedData = this.getChartDataValues(properties.rows);
const performanceColumns: ColumnModel<PerformanceDataType>[] = [
- { property: "radio-signal-id", title: "Radio signal", type: ColumnType.text },
- { property: "scanner-id", title: "Scanner ID", type: ColumnType.text },
- { property: "time-stamp", title: "End Time", type: ColumnType.text, disableFilter: true },
+ { property: "radioSignalId", title: "Radio signal", type: ColumnType.text },
+ { property: "scannerId", title: "Scanner ID", type: ColumnType.text },
+ { property: "utcTimeStamp", title: "End Time", type: ColumnType.text, disableFilter: true },
{
- property: "suspect-interval-flag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
- const suspectIntervalFlag = rowData["suspect-interval-flag"].toString();
+ property: "suspectIntervalFlag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
+ const suspectIntervalFlag = rowData["suspectIntervalFlag"].toString();
return <div >{suspectIntervalFlag} </div>
}
}
@@ -104,7 +114,7 @@ class PerformanceDataComponent extends React.Component<PerformanceDataComponentP
_rows.forEach(row => {
datasets.forEach(ds => {
ds.data.push({
- x: row["time-stamp"],
+ x: row["utcTimeStamp" as keyof PerformanceDataType] as string,
y: row[ds.name as keyof PerformanceDataType] as string
});
});
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/receiveLevel.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/receiveLevel.tsx
index b893ce149..9992f5bd8 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/receiveLevel.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/receiveLevel.tsx
@@ -1,3 +1,20 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
import * as React from 'react';
import { withRouter, RouteComponentProps } from 'react-router-dom';
@@ -8,19 +25,16 @@ import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/co
import { ReceiveLevelDataType } from '../models/receiveLevelDataType';
import { IDataSet, IDataSetsObject } from '../models/chartTypes';
-import { createReceiveLevel15minProperties, createReceiveLevel15minActions } from '../handlers/receiveLevel15minHandler';
-import { createReceiveLevel24hoursProperties, createReceiveLevel24hoursActions } from '../handlers/receiveLevel24hoursHandler';
+import { createReceiveLevelProperties, createReceiveLevelActions } from '../handlers/receiveLevelHandler';
import { lineChart, sortDataByTimeStamp } from '../utils/chartUtils';
import { addColumnLabels } from '../utils/tableUtils';
const mapProps = (state: IApplicationStoreState) => ({
- receiveLevel15minProperties: createReceiveLevel15minProperties(state),
- receiveLevel24hoursProperties: createReceiveLevel24hoursProperties(state)
+ receiveLevelProperties: createReceiveLevelProperties(state),
});
const mapDisp = (dispatcher: IDispatcher) => ({
- receiveLevel15minActions: createReceiveLevel15minActions(dispatcher.dispatch),
- receiveLevel24hoursActions: createReceiveLevel24hoursActions(dispatcher.dispatch)
+ receiveLevelActions: createReceiveLevelActions(dispatcher.dispatch),
});
type ReceiveLevelComponentProps = RouteComponentProps & Connect<typeof mapProps, typeof mapDisp> & {
@@ -34,21 +48,17 @@ const ReceiveLevelTable = MaterialTable as MaterialTableCtorType<ReceiveLevelDat
*/
class ReceiveLevelComponent extends React.Component<ReceiveLevelComponentProps>{
render(): JSX.Element {
- const properties = this.props.selectedTimePeriod === "15min"
- ? this.props.receiveLevel15minProperties
- : this.props.receiveLevel24hoursProperties;
- const actions = this.props.selectedTimePeriod === "15min"
- ? this.props.receiveLevel15minActions
- : this.props.receiveLevel24hoursActions;
+ const properties = this.props.receiveLevelProperties;
+ const actions = this.props.receiveLevelActions;
const chartPagedData = this.getChartDataValues(properties.rows);
const receiveLevelColumns: ColumnModel<ReceiveLevelDataType>[] = [
- { property: "radio-signal-id", title: "Radio signal", type: ColumnType.text },
- { property: "scanner-id", title: "Scanner ID", type: ColumnType.text },
- { property: "time-stamp", title: "End Time", type: ColumnType.text, disableFilter: true },
+ { property: "radioSignalId", title: "Radio signal", type: ColumnType.text },
+ { property: "scannerId", title: "Scanner ID", type: ColumnType.text },
+ { property: "utcTimeStamp", title: "End Time", type: ColumnType.text, disableFilter: true },
{
- property: "suspect-interval-flag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
- const suspectIntervalFlag = rowData["suspect-interval-flag"].toString();
+ property: "suspectIntervalFlag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
+ const suspectIntervalFlag = rowData["suspectIntervalFlag"].toString();
return <div >{suspectIntervalFlag} </div>
}
}
@@ -75,7 +85,7 @@ class ReceiveLevelComponent extends React.Component<ReceiveLevelComponentProps>{
sortDataByTimeStamp(_rows);
const datasets: IDataSet[] = [{
- name: "rx-level-min",
+ name: "rxLevelMin",
label: "rx-level-min",
borderColor: '#0e17f3de',
bezierCurve: false,
@@ -84,7 +94,7 @@ class ReceiveLevelComponent extends React.Component<ReceiveLevelComponentProps>{
data: [],
columnLabel: "Rx min"
}, {
- name: "rx-level-avg",
+ name: "rxLevelAvg",
label: "rx-level-avg",
borderColor: '#08edb6de',
bezierCurve: false,
@@ -93,7 +103,7 @@ class ReceiveLevelComponent extends React.Component<ReceiveLevelComponentProps>{
data: [],
columnLabel: "Rx avg"
}, {
- name: "rx-level-max",
+ name: "rxLevelMax",
label: "rx-level-max",
borderColor: '#b308edde',
bezierCurve: false,
@@ -106,7 +116,7 @@ class ReceiveLevelComponent extends React.Component<ReceiveLevelComponentProps>{
_rows.forEach(row => {
datasets.forEach(ds => {
ds.data.push({
- x: row["time-stamp"],
+ x: row["utcTimeStamp" as keyof ReceiveLevelDataType] as string,
y: row[ds.name as keyof ReceiveLevelDataType] as string
});
});
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/signalToInterference.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/signalToInterference.tsx
index 90ed1a9cb..98017ae2f 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/signalToInterference.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/signalToInterference.tsx
@@ -1,3 +1,20 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
import * as React from 'react';
import { withRouter, RouteComponentProps } from 'react-router-dom';
@@ -8,19 +25,16 @@ import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/co
import { SignalToInterferenceDataType } from '../models/signalToInteferenceDataType';
import { IDataSet, IDataSetsObject } from '../models/chartTypes';
-import { createSignalToInterference15minProperties, createSignalToInterference15minActions } from '../handlers/signalToInterference15minHandler';
-import { createSignalToInterference24hoursProperties, createSignalToInterference24hoursActions } from '../handlers/signalToInterference24hoursHandler';
+import { createSignalToInterferenceProperties, createSignalToInterferenceActions } from '../handlers/signalToInterferenceHandler';
import { lineChart, sortDataByTimeStamp } from '../utils/chartUtils';
import { addColumnLabels } from '../utils/tableUtils';
const mapProps = (state: IApplicationStoreState) => ({
- signalToInterference15minProperties: createSignalToInterference15minProperties(state),
- signalToInterference24hoursProperties: createSignalToInterference24hoursProperties(state)
+ signalToInterferenceProperties: createSignalToInterferenceProperties(state),
});
const mapDisp = (dispatcher: IDispatcher) => ({
- signalToInterference15minActions: createSignalToInterference15minActions(dispatcher.dispatch),
- signalToInterference24hoursActions: createSignalToInterference24hoursActions(dispatcher.dispatch)
+ signalToInterferenceActions: createSignalToInterferenceActions(dispatcher.dispatch),
});
type SignalToInterferenceComponentProps = RouteComponentProps & Connect<typeof mapProps, typeof mapDisp> & {
@@ -34,28 +48,23 @@ const SignalToInterferenceTable = MaterialTable as MaterialTableCtorType<SignalT
*/
class SignalToInterferenceComponent extends React.Component<SignalToInterferenceComponentProps>{
render(): JSX.Element {
- const properties = this.props.selectedTimePeriod === "15min"
- ? this.props.signalToInterference15minProperties
- : this.props.signalToInterference24hoursProperties;
- const actions = this.props.selectedTimePeriod === "15min"
- ? this.props.signalToInterference15minActions
- : this.props.signalToInterference24hoursActions;
+ const properties = this.props.signalToInterferenceProperties;
+ const actions = this.props.signalToInterferenceActions;
const chartPagedData = this.getChartDataValues(properties.rows);
const sinrColumns: ColumnModel<SignalToInterferenceDataType>[] = [
-
- { property: "radio-signal-id", title: "Radio signal", type: ColumnType.text },
- { property: "scanner-id", title: "Scanner ID", type: ColumnType.text },
- { property: "time-stamp", title: "End Time", type: ColumnType.text, disableFilter: true },
+ { property: "radioSignalId", title: "Radio signal", type: ColumnType.text },
+ { property: "scannerId", title: "Scanner ID", type: ColumnType.text },
+ { property: "utcTimeStamp", title: "End Time", type: ColumnType.text, disableFilter: true },
{
- property: "suspect-interval-flag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
- const suspectIntervalFlag = rowData["suspect-interval-flag"].toString();
+ property: "suspectIntervalFlag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
+ const suspectIntervalFlag = rowData["suspectIntervalFlag"].toString();
return <div >{suspectIntervalFlag} </div>
}
}
];
-
+
chartPagedData.datasets.forEach(ds => {
sinrColumns.push(addColumnLabels<SignalToInterferenceDataType>(ds.name, ds.columnLabel));
});
@@ -78,7 +87,7 @@ class SignalToInterferenceComponent extends React.Component<SignalToInterference
sortDataByTimeStamp(_rows);
const datasets: IDataSet[] = [{
- name: "snir-min",
+ name: "snirMin",
label: "snir-min",
borderColor: '#0e17f3de',
bezierCurve: false,
@@ -87,7 +96,7 @@ class SignalToInterferenceComponent extends React.Component<SignalToInterference
data: [],
columnLabel: "SINR (min)[db]"
}, {
- name: "snir-avg",
+ name: "snirAvg",
label: "snir-avg",
borderColor: '#08edb6de',
bezierCurve: false,
@@ -96,7 +105,7 @@ class SignalToInterferenceComponent extends React.Component<SignalToInterference
data: [],
columnLabel: "SINR (avg)[db]"
}, {
- name: "snir-max",
+ name: "snirMax",
label: "snir-max",
borderColor: '#b308edde',
bezierCurve: false,
@@ -109,7 +118,7 @@ class SignalToInterferenceComponent extends React.Component<SignalToInterference
_rows.forEach(row => {
datasets.forEach(ds => {
ds.data.push({
- x: row["time-stamp"],
+ x: row["utcTimeStamp" as keyof SignalToInterferenceDataType] as string,
y: row[ds.name as keyof SignalToInterferenceDataType] as string
});
});
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/temperature.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/temperature.tsx
index f105bfd46..f1e62cf33 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/temperature.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/temperature.tsx
@@ -1,3 +1,20 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
import * as React from 'react';
import { withRouter, RouteComponentProps } from 'react-router-dom';
@@ -8,19 +25,16 @@ import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/co
import { TemperatureDataType } from '../models/temperatureDataType';
import { IDataSet, IDataSetsObject } from '../models/chartTypes';
-import { createTemperature15minProperties, createTemperature15minActions } from '../handlers/temperature15minHandler';
-import { createTemperature24hoursProperties, createTemperature24hoursActions } from '../handlers/temperature24hoursHandler';
+import { createTemperatureProperties, createTemperatureActions } from '../handlers/temperatureHandler';
import { lineChart, sortDataByTimeStamp } from '../utils/chartUtils';
import { addColumnLabels } from '../utils/tableUtils';
const mapProps = (state: IApplicationStoreState) => ({
- temperature15minProperties: createTemperature15minProperties(state),
- temperature24hoursProperties: createTemperature24hoursProperties(state)
+ temperatureProperties: createTemperatureProperties(state),
});
const mapDisp = (dispatcher: IDispatcher) => ({
- temperature15minActions: createTemperature15minActions(dispatcher.dispatch),
- temperature24hoursActions: createTemperature24hoursActions(dispatcher.dispatch)
+ temperatureActions: createTemperatureActions(dispatcher.dispatch),
});
type TemperatureComponentProps = RouteComponentProps & Connect<typeof mapProps, typeof mapDisp> & {
@@ -34,26 +48,22 @@ const TemperatureTable = MaterialTable as MaterialTableCtorType<TemperatureDataT
*/
class TemperatureComponent extends React.Component<TemperatureComponentProps>{
render(): JSX.Element {
- const properties = this.props.selectedTimePeriod === "15min"
- ? this.props.temperature15minProperties
- : this.props.temperature24hoursProperties;
- const actions = this.props.selectedTimePeriod === "15min"
- ? this.props.temperature15minActions
- : this.props.temperature24hoursActions;
+ const properties = this.props.temperatureProperties;
+ const actions = this.props.temperatureActions;
const chartPagedData = this.getChartDataValues(properties.rows);
const temperatureColumns: ColumnModel<TemperatureDataType>[] = [
- { property: "radio-signal-id", title: "Radio signal", type: ColumnType.text },
- { property: "scanner-id", title: "Scanner ID", type: ColumnType.text },
- { property: "time-stamp", title: "End Time", type: ColumnType.text, disableFilter: true },
+ { property: "radioSignalId", title: "Radio signal", type: ColumnType.text },
+ { property: "scannerId", title: "Scanner ID", type: ColumnType.text },
+ { property: "utcTimeStamp", title: "End Time", type: ColumnType.text, disableFilter: true },
{
- property: "suspect-interval-flag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
- const suspectIntervalFlag = rowData["suspect-interval-flag"].toString();
+ property: "suspectIntervalFlag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
+ const suspectIntervalFlag = rowData["suspectIntervalFlag"].toString();
return <div >{suspectIntervalFlag} </div>
}
}
];
-
+
chartPagedData.datasets.forEach(ds => {
temperatureColumns.push(addColumnLabels<TemperatureDataType>(ds.name, ds.columnLabel));
});
@@ -75,7 +85,7 @@ class TemperatureComponent extends React.Component<TemperatureComponentProps>{
sortDataByTimeStamp(_rows);
const datasets: IDataSet[] = [{
- name: "rf-temp-min",
+ name: "rfTempMin",
label: "rf-temp-min",
borderColor: '#0e17f3de',
bezierCurve: false,
@@ -84,7 +94,7 @@ class TemperatureComponent extends React.Component<TemperatureComponentProps>{
data: [],
columnLabel: "Rf Temp Min[deg C]"
}, {
- name: "rf-temp-avg",
+ name: "rfTempAvg",
label: "rf-temp-avg",
borderColor: '#08edb6de',
bezierCurve: false,
@@ -93,7 +103,7 @@ class TemperatureComponent extends React.Component<TemperatureComponentProps>{
data: [],
columnLabel: "Rf Temp Avg[deg C]"
}, {
- name: "rf-temp-max",
+ name: "rfTempMax",
label: "rf-temp-max",
borderColor: '#b308edde',
bezierCurve: false,
@@ -106,7 +116,7 @@ class TemperatureComponent extends React.Component<TemperatureComponentProps>{
_rows.forEach(row => {
datasets.forEach(ds => {
ds.data.push({
- x: row["time-stamp"],
+ x: row["utcTimeStamp" as keyof TemperatureDataType] as string,
y: row[ds.name as keyof TemperatureDataType] as string
});
});
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/transmissionPower.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/transmissionPower.tsx
index 088a83eed..8ec4561a4 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/transmissionPower.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/transmissionPower.tsx
@@ -1,3 +1,20 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
import * as React from 'react';
import { withRouter, RouteComponentProps } from 'react-router-dom';
@@ -8,19 +25,16 @@ import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/co
import { TransmissionPowerDataType } from '../models/transmissionPowerDataType';
import { IDataSet, IDataSetsObject } from '../models/chartTypes';
-import { createTransmissionPower15minProperties, createTransmissionPower15minActions } from '../handlers/transmissionPower15minHandler';
-import { createTransmissionPower24hoursProperties, createTransmissionPower24hoursActions } from '../handlers/transmissionPower24hoursHandler';
+import { createTransmissionPowerProperties, createTransmissionPowerActions } from '../handlers/transmissionPowerHandler';
import { lineChart, sortDataByTimeStamp } from '../utils/chartUtils';
import { addColumnLabels } from '../utils/tableUtils';
const mapProps = (state: IApplicationStoreState) => ({
- transmissionPower15minProperties: createTransmissionPower15minProperties(state),
- transmissionPower24hoursProperties: createTransmissionPower24hoursProperties(state)
+ transmissionPowerProperties: createTransmissionPowerProperties(state),
});
const mapDisp = (dispatcher: IDispatcher) => ({
- transmissionPower15minActions: createTransmissionPower15minActions(dispatcher.dispatch),
- transmissionPower24hoursActions: createTransmissionPower24hoursActions(dispatcher.dispatch)
+ transmissionPowerActions: createTransmissionPowerActions(dispatcher.dispatch),
});
type TransmissionPowerComponentProps = RouteComponentProps & Connect<typeof mapProps, typeof mapDisp> & {
@@ -34,27 +48,23 @@ const TransmissionPowerTable = MaterialTable as MaterialTableCtorType<Transmissi
*/
class TransmissionPowerComponent extends React.Component<TransmissionPowerComponentProps>{
render(): JSX.Element {
- const properties = this.props.selectedTimePeriod === "15min"
- ? this.props.transmissionPower15minProperties
- : this.props.transmissionPower24hoursProperties;
- const actions = this.props.selectedTimePeriod === "15min"
- ? this.props.transmissionPower15minActions
- : this.props.transmissionPower24hoursActions;
+ const properties = this.props.transmissionPowerProperties
+ const actions = this.props.transmissionPowerActions
const chartPagedData = this.getChartDataValues(properties.rows);
const transmissionColumns: ColumnModel<TransmissionPowerDataType>[] = [
- { property: "radio-signal-id", title: "Radio signal", type: ColumnType.text },
- { property: "scanner-id", title: "Scanner ID", type: ColumnType.text },
- { property: "time-stamp", title: "End Time", type: ColumnType.text, disableFilter: true },
+ { property: "radioSignalId", title: "Radio signal", type: ColumnType.text },
+ { property: "scannerId", title: "Scanner ID", type: ColumnType.text },
+ { property: "utcTimeStamp", title: "End Time", type: ColumnType.text, disableFilter: true },
{
- property: "suspect-interval-flag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
- const suspectIntervalFlag = rowData["suspect-interval-flag"].toString();
+ property: "suspectIntervalFlag", title: "Suspect Interval", type: ColumnType.custom, customControl: ({ rowData }) => {
+ const suspectIntervalFlag = rowData["suspectIntervalFlag"].toString();
return <div >{suspectIntervalFlag} </div>
}
}
];
-
+
chartPagedData.datasets.forEach(ds => {
transmissionColumns.push(addColumnLabels<TransmissionPowerDataType>(ds.name, ds.columnLabel));
});
@@ -77,7 +87,7 @@ class TransmissionPowerComponent extends React.Component<TransmissionPowerCompon
sortDataByTimeStamp(_rows);
const datasets: IDataSet[] = [{
- name: "tx-level-min",
+ name: "txLevelMin",
label: "tx-level-min",
borderColor: '#0e17f3de',
bezierCurve: false,
@@ -86,7 +96,7 @@ class TransmissionPowerComponent extends React.Component<TransmissionPowerCompon
data: [],
columnLabel: "Tx min"
}, {
- name: "tx-level-avg",
+ name: "txLevelAvg",
label: "tx-level-avg",
borderColor: '#08edb6de',
bezierCurve: false,
@@ -95,7 +105,7 @@ class TransmissionPowerComponent extends React.Component<TransmissionPowerCompon
data: [],
columnLabel: "Tx avg"
}, {
- name: "tx-level-max",
+ name: "txLevelMax",
label: "tx-level-max",
borderColor: '#b308edde',
bezierCurve: false,
@@ -108,7 +118,7 @@ class TransmissionPowerComponent extends React.Component<TransmissionPowerCompon
_rows.forEach(row => {
datasets.forEach(ds => {
ds.data.push({
- x: row["time-stamp"],
+ x: row["utcTimeStamp" as keyof TransmissionPowerDataType] as string,
y: row[ds.name as keyof TransmissionPowerDataType] as string
});
});
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulation15minHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulation15minHandler.ts
deleted file mode 100644
index 6072cf0fb..000000000
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulation15minHandler.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
-import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-
-
-import { AdaptiveModulationDataType, AdaptiveModulation, AdaptiveModulationResult } from '../models/adaptiveModulationDataType';
-
-export interface IAdaptiveModulation15minState extends IExternalTableState<AdaptiveModulationDataType> { }
-
-/**
- * Creates elastic search material data fetch handler for Adaptive modulation from historicalperformance15min database.
- */
-const adaptiveModulationSearchHandler = createSearchDataHandler<AdaptiveModulationResult, AdaptiveModulation>(
- "sdnperformance/historicalperformance15min",
- null,
- (hit) => ({
- _id: hit._id,
- ...hit._source,
- ...hit._source["performance-data"]
- }),
- (name) => `${name}`);
-
-export const {
- actionHandler: adaptiveModulation15minActionHandler,
- createActions: createAdaptiveModulation15minActions,
- createProperties: createAdaptiveModulation15minProperties,
- createPreActions: createAdaptiveModulation15minPreActions,
- reloadAction: adaptiveModulation15minReloadAction,
-} = createExternal<AdaptiveModulationDataType>(adaptiveModulationSearchHandler, appState => appState.performanceHistory.adaptiveModulation15min);
-
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulation24hoursHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulation24hoursHandler.ts
deleted file mode 100644
index 466b22966..000000000
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulation24hoursHandler.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
-import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-
-
-import { AdaptiveModulationDataType, AdaptiveModulation, AdaptiveModulationResult } from '../models/adaptiveModulationDataType';
-
-export interface IAdaptiveModulation24hoursState extends IExternalTableState<AdaptiveModulationDataType> { }
-
-/**
- * Creates elastic search material data fetch handler for Adaptive modulation from historicalperformance24h database.
- */
-const adaptiveModulationSearchHandler = createSearchDataHandler<AdaptiveModulationResult, AdaptiveModulation>(
- "sdnperformance/historicalperformance24h",
- null,
- (hit) => ({
- _id: hit._id,
- ...hit._source,
- ...hit._source["performance-data"]
- }),
- (name) => `${name}`);
-
-export const {
- actionHandler: adaptiveModulation24hoursActionHandler,
- createActions: createAdaptiveModulation24hoursActions,
- createProperties: createAdaptiveModulation24hoursProperties,
- createPreActions: createAdaptiveModulation24hoursPreActions,
- reloadAction: adaptiveModulation24hoursReloadAction,
-} = createExternal<AdaptiveModulationDataType>(adaptiveModulationSearchHandler, appState => appState.performanceHistory.adaptiveModulation24hours);
-
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulationHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulationHandler.ts
new file mode 100644
index 000000000..ba765c8cb
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulationHandler.ts
@@ -0,0 +1,96 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
+import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+import { AdaptiveModulationDataType, AdaptiveModulationResult } from '../models/adaptiveModulationDataType';
+import { getFilter } from '../utils/tableUtils';
+
+export interface IAdaptiveModulationState extends IExternalTableState<AdaptiveModulationDataType> { }
+
+/**
+ * Creates elastic search material data fetch handler for Adaptive modulation from historicalperformance database.
+ */
+const adaptiveModulationSearchHandler = createSearchDataHandler<AdaptiveModulationResult, AdaptiveModulationDataType>(
+ getFilter,
+ null,
+ (hit) => ({
+ _id: hit._id,
+ radioSignalId: hit._source["radio-signal-id"],
+ scannerId: hit._source["scanner-id"],
+ utcTimeStamp: hit._source["time-stamp"],
+ suspectIntervalFlag: hit._source["suspect-interval-flag"],
+ time2StatesS: hit._source["performance-data"]["time2-states-s"],
+ time2States: hit._source["performance-data"]["time2-states"],
+ time2StatesL: hit._source["performance-data"]["time2-states-l"],
+ time4StatesS: hit._source["performance-data"]["time4-states-s"],
+ time4States: hit._source["performance-data"]["time4-states"],
+ time4StatesL: hit._source["performance-data"]["time4-states-l"],
+ time16StatesS: hit._source["performance-data"]["time16-states-s"],
+ time16States: hit._source["performance-data"]["time16-states"],
+ time16StatesL: hit._source["performance-data"]["time16-states-l"],
+ time32StatesS: hit._source["performance-data"]["time32-states-s"],
+ time32States: hit._source["performance-data"]["time32-states"],
+ time32StatesL: hit._source["performance-data"]["time32-states-l"],
+ time64StatesS: hit._source["performance-data"]["time64-states-s"],
+ time64States: hit._source["performance-data"]["time64-states"],
+ time64StatesL: hit._source["performance-data"]["time64-states-l"],
+ time128StatesS: hit._source["performance-data"]["time128-states-s"],
+ time128States: hit._source["performance-data"]["time128-states"],
+ time128StatesL: hit._source["performance-data"]["time128-states-l"],
+ time256StatesS: hit._source["performance-data"]["time256-states-s"],
+ time256States: hit._source["performance-data"]["time256-states"],
+ time256StatesL: hit._source["performance-data"]["time256-states-l"],
+ time512StatesS: hit._source["performance-data"]["time512-states-s"],
+ time512States: hit._source["performance-data"]["time512-states"],
+ time512StatesL: hit._source["performance-data"]["time512-states-l"],
+ time1024StatesS: hit._source["performance-data"]["time1024-states-s"],
+ time1024States: hit._source["performance-data"]["time1024-states"],
+ time1024StatesL: hit._source["performance-data"]["time1024-states-l"],
+ time2048StatesS: hit._source["performance-data"]["time2048-states-s"],
+ time2048States: hit._source["performance-data"]["time2048-states"],
+ time2048StatesL: hit._source["performance-data"]["time2048-states-l"],
+ time4096StatesS: hit._source["performance-data"]["time4096-states-s"],
+ time4096States: hit._source["performance-data"]["time4096-states"],
+ time4096StatesL: hit._source["performance-data"]["time4096-states-l"],
+ time8192StatesS: hit._source["performance-data"]["time8192-states-s"],
+ time8192States: hit._source["performance-data"]["time8192-states"],
+ time8192StatesL: hit._source["performance-data"]["time8192-states-l"],
+ }),
+ (pmDataEntry: string) => {
+ switch (pmDataEntry) {
+ case "radioSignalId":
+ return "radio-signal-id";
+ case "scannerId":
+ return "scanner-id";
+ case "utcTimeStamp":
+ return "time-stamp"
+ case "suspectIntervalFlag":
+ return "suspect-interval-flag";
+ }
+ return pmDataEntry
+ });
+
+export const {
+ actionHandler: adaptiveModulationActionHandler,
+ createActions: createAdaptiveModulationActions,
+ createProperties: createAdaptiveModulationProperties,
+ createPreActions: createAdaptiveModulationPreActions,
+ reloadAction: adaptiveModulationReloadAction,
+} = createExternal<AdaptiveModulationDataType>(adaptiveModulationSearchHandler, appState => appState.performanceHistory.adaptiveModulation);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/availableLtpsActionHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/availableLtpsActionHandler.ts
index 415b073c9..41aceca9f 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/availableLtpsActionHandler.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/availableLtpsActionHandler.ts
@@ -1,3 +1,20 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
import { IActionHandler } from '../../../../framework/src/flux/action';
import {
@@ -13,7 +30,7 @@ export interface IAvailableLtpsState {
}
const connectedNetworkElementsStateInit: IAvailableLtpsState = {
- distinctLtps: [],
+ distinctLtps: [],
busy: false
};
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/connectedNetworkElementsActionHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/connectedNetworkElementsActionHandler.ts
index ad153f0ec..ee14063c2 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/connectedNetworkElementsActionHandler.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/connectedNetworkElementsActionHandler.ts
@@ -1,3 +1,20 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
import { IActionHandler } from '../../../../framework/src/flux/action';
import { AllConnectedNetworkElementsLoadedAction, LoadAllConnectedNetworkElementsAction } from '../actions/connectedNetworkElementsActions';
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscrimination15minHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscrimination15minHandler.ts
deleted file mode 100644
index 81418db94..000000000
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscrimination15minHandler.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
-import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-
-
-import { CrossPolarDiscriminationDataType, CrossPolarDiscrimination, CrossPolarDiscriminationResult } from '../models/crossPolarDiscriminationDataType';
-
-export interface ICrossPolarDiscrimination15minState extends IExternalTableState<CrossPolarDiscriminationDataType> { }
-
-/**
- * Creates elastic search material data fetch handler for CPD from historicalperformance15min database.
- */
-const crossPolarDiscriminationSearchHandler = createSearchDataHandler<CrossPolarDiscriminationResult, CrossPolarDiscrimination>(
- "sdnperformance/historicalperformance15min",
- null,
- (hit) => ({
- _id: hit._id,
- ...hit._source,
- ...hit._source["performance-data"]
- }),
- (name) => `${name}`);
-
-export const {
- actionHandler: crossPolarDiscrimination15minActionHandler,
- createActions: createCrossPolarDiscrimination15minActions,
- createProperties: createCrossPolarDiscrimination15minProperties,
- createPreActions: createCrossPolarDiscrimination15minPreActions,
- reloadAction: crossPolarDiscrimination15minReloadAction,
-} = createExternal<CrossPolarDiscriminationDataType>(crossPolarDiscriminationSearchHandler, appState => appState.performanceHistory.crossPolarDiscrimination15min);
-
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscrimination24hoursHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscrimination24hoursHandler.ts
deleted file mode 100644
index b4d9da393..000000000
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscrimination24hoursHandler.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
-import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-
-
-import { CrossPolarDiscriminationDataType, CrossPolarDiscrimination, CrossPolarDiscriminationResult } from '../models/crossPolarDiscriminationDataType';
-
-export interface ICrossPolarDiscrimination24hoursState extends IExternalTableState<CrossPolarDiscriminationDataType> { }
-
-/**
- * Creates elastic search material data fetch handler for CPD from historicalperformance24h database.
- */
-const crossPolarDiscriminationSearchHandler = createSearchDataHandler<CrossPolarDiscriminationResult, CrossPolarDiscrimination>(
- "sdnperformance/historicalperformance24h",
- null,
- (hit) => ({
- _id: hit._id,
- ...hit._source,
- ...hit._source["performance-data"]
- }),
- (name) => `${name}`);
-
-export const {
- actionHandler: crossPolarDiscrimination24hoursActionHandler,
- createActions: createCrossPolarDiscrimination24hoursActions,
- createProperties: createCrossPolarDiscrimination24hoursProperties,
- createPreActions: createCrossPolarDiscrimination24hoursPreActions,
- reloadAction: crossPolarDiscrimination24hoursReloadAction,
-} = createExternal<CrossPolarDiscriminationDataType>(crossPolarDiscriminationSearchHandler, appState => appState.performanceHistory.crossPolarDiscrimination24hours);
-
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscriminationHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscriminationHandler.ts
new file mode 100644
index 000000000..074c97d91
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscriminationHandler.ts
@@ -0,0 +1,63 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
+import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+import { CrossPolarDiscriminationDataType, CrossPolarDiscriminationResult } from '../models/crossPolarDiscriminationDataType';
+import { getFilter } from '../utils/tableUtils';
+
+export interface ICrossPolarDiscriminationState extends IExternalTableState<CrossPolarDiscriminationDataType> { }
+
+/**
+ * Creates elastic search material data fetch handler for CPD from historicalperformance database.
+ */
+const crossPolarDiscriminationSearchHandler = createSearchDataHandler<CrossPolarDiscriminationResult, CrossPolarDiscriminationDataType>(
+ getFilter,
+ null,
+ (hit) => ({
+ _id: hit._id,
+ radioSignalId: hit._source["radio-signal-id"],
+ scannerId: hit._source["scanner-id"],
+ utcTimeStamp: hit._source["time-stamp"],
+ suspectIntervalFlag: hit._source["suspect-interval-flag"],
+ xpdMin: hit._source["performance-data"]["xpd-min"],
+ xpdAvg: hit._source["performance-data"]["xpd-avg"],
+ xpdMax: hit._source["performance-data"]["xpd-max"],
+ }),
+ (pmDataEntry: string) => {
+ switch (pmDataEntry) {
+ case "radioSignalId":
+ return "radio-signal-id";
+ case "scannerId":
+ return "scanner-id";
+ case "utcTimeStamp":
+ return "time-stamp"
+ case "suspectIntervalFlag":
+ return "suspect-interval-flag";
+ }
+ return pmDataEntry
+ });
+
+export const {
+ actionHandler: crossPolarDiscriminationActionHandler,
+ createActions: createCrossPolarDiscriminationActions,
+ createProperties: createCrossPolarDiscriminationProperties,
+ createPreActions: createCrossPolarDiscriminationPreActions,
+ reloadAction: crossPolarDiscriminationReloadAction,
+} = createExternal<CrossPolarDiscriminationDataType>(crossPolarDiscriminationSearchHandler, appState => appState.performanceHistory.crossPolarDiscrimination);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceData15minHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceData15minHandler.ts
deleted file mode 100644
index 4f284a27e..000000000
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceData15minHandler.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { createExternal,IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
-import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-
-import { PerformanceDataType, Performance,PerformanceResult } from '../models/performanceDataType';
-
-export interface IPerformanceData15minState extends IExternalTableState<PerformanceDataType> {}
-
-/**
- * Creates elastic search material data fetch handler for performance data from historicalperformance15min database.
- */
- const performanceDataSearchHandler = createSearchDataHandler<PerformanceResult, Performance>(
- "sdnperformance/historicalperformance15min",
- null,
- (hit) => ({
- _id: hit._id,
- ...hit._source,
- ...hit._source["performance-data"]
- }),
- (name) => `${name}` );
-
-export const {
- actionHandler: performanceData15minActionHandler,
- createActions: createPerformanceData15minActions,
- createProperties: createPerformanceData15minProperties,
- createPreActions: createPerformanceData15minPreActions,
- reloadAction: performanceData15minReloadAction
-} = createExternal<PerformanceDataType>(performanceDataSearchHandler, appState => appState.performanceHistory.performanceData15min);
-
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceData24hoursHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceData24hoursHandler.ts
deleted file mode 100644
index 4136ce482..000000000
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceData24hoursHandler.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
-import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-
-import { PerformanceDataType, Performance, PerformanceResult } from '../models/performanceDataType';
-
-export interface IPerformanceData24hoursState extends IExternalTableState<PerformanceDataType> { }
-
-/**
- * Creates elastic search material data fetch handler for performance data from historicalperformance24h database.
- */
-const performanceDataSearchHandler = createSearchDataHandler<PerformanceResult, Performance>(
- "sdnperformance/historicalperformance24h",
- null,
- (hit) => ({
- _id: hit._id,
- ...hit._source,
- ...hit._source["performance-data"]
- }),
- (name) => `${name}`);
-
-export const {
- actionHandler: performanceData24hoursActionHandler,
- createActions: createPerformanceData24hoursActions,
- createProperties: createPerformanceData24hoursProperties,
- createPreActions: createPerformanceData24hoursPreActions,
- reloadAction: performanceData24hoursReloadAction
-} = createExternal<PerformanceDataType>(performanceDataSearchHandler, appState => appState.performanceHistory.performanceData24hours);
-
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceDataHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceDataHandler.ts
new file mode 100644
index 000000000..51b537fea
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceDataHandler.ts
@@ -0,0 +1,65 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
+import * as moment from 'moment';
+
+import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+import { PerformanceResult, PerformanceDataType } from '../models/performanceDataType';
+import { getFilter } from '../utils/tableUtils';
+
+export interface IPerformanceDataState extends IExternalTableState<PerformanceDataType> { }
+
+/**
+* Creates elastic search material data fetch handler for performance data from historicalperformance15min database.
+*/
+const performanceDataSearchHandler = createSearchDataHandler<PerformanceResult, PerformanceDataType>(
+ getFilter,
+ null,
+ (hit) => ({
+ _id: hit._id,
+ radioSignalId: hit._source["radio-signal-id"],
+ scannerId: hit._source["scanner-id"],
+ utcTimeStamp: hit._source["time-stamp"],
+ suspectIntervalFlag: hit._source["suspect-interval-flag"],
+ es: hit._source["performance-data"]["es"],
+ ses: hit._source["performance-data"]["ses"],
+ unavailability: hit._source["performance-data"]["unavailability"],
+ }),
+ (pmDataEntry: string) => {
+ switch (pmDataEntry) {
+ case "radioSignalId":
+ return "radio-signal-id";
+ case "scannerId":
+ return "scanner-id";
+ case "utcTimeStamp":
+ return "time-stamp"
+ case "suspectIntervalFlag":
+ return "suspect-interval-flag";
+ }
+ return pmDataEntry
+ });
+
+export const {
+ actionHandler: performanceDataActionHandler,
+ createActions: createPerformanceDataActions,
+ createProperties: createPerformanceDataProperties,
+ createPreActions: createPerformanceDataPreActions,
+ reloadAction: performanceDataReloadAction
+} = createExternal<PerformanceDataType>(performanceDataSearchHandler, appState => appState.performanceHistory.performanceData);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceHistoryRootHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceHistoryRootHandler.ts
index 43813e573..85ff01634 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceHistoryRootHandler.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceHistoryRootHandler.ts
@@ -1,3 +1,20 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
// main state handler
import { combineActionHandler } from '../../../../framework/src/flux/middleware';
@@ -7,45 +24,46 @@ import { IApplicationStoreState } from '../../../../framework/src/store/applicat
import { IActionHandler } from '../../../../framework/src/flux/action';
import { IConnectAppStoreState } from '../../../connectApp/src/handlers/connectAppRootHandler';
-import { IPerformanceData15minState, performanceData15minActionHandler } from './performanceData15minHandler';
-import { IReceiveLevel15minState, receiveLevel15minActionHandler } from './receiveLevel15minHandler';
-import { ITransmissionPower15minState, transmissionPower15minActionHandler } from './transmissionPower15minHandler';
-import { IAdaptiveModulation15minState, adaptiveModulation15minActionHandler } from './adaptiveModulation15minHandler';
-import { ITemperature15minState, temperature15minActionHandler } from './temperature15minHandler';
-import { ISignalToInterference15minState, signalToInterference15minActionHandler } from './signalToInterference15minHandler';
-import { ICrossPolarDiscrimination15minState, crossPolarDiscrimination15minActionHandler } from './crossPolarDiscrimination15minHandler';
-import { IPerformanceData24hoursState, performanceData24hoursActionHandler } from './performanceData24hoursHandler';
-import { IReceiveLevel24hoursState, receiveLevel24hoursActionHandler } from './receiveLevel24hoursHandler';
-import { ITransmissionPower24hoursState, transmissionPower24hoursActionHandler } from './transmissionPower24hoursHandler';
-import { IAdaptiveModulation24hoursState, adaptiveModulation24hoursActionHandler } from './adaptiveModulation24hoursHandler';
-import { ITemperature24hoursState, temperature24hoursActionHandler } from './temperature24hoursHandler';
-import { ISignalToInterference24hoursState, signalToInterference24hoursActionHandler } from './signalToInterference24hoursHandler';
-import { ICrossPolarDiscrimination24hoursState, crossPolarDiscrimination24hoursActionHandler } from './crossPolarDiscrimination24hoursHandler';
+import { IPerformanceDataState, performanceDataActionHandler } from './performanceDataHandler';
+import { IReceiveLevelState, receiveLevelActionHandler } from './receiveLevelHandler';
+import { ITransmissionPowerState, transmissionPowerActionHandler } from './transmissionPowerHandler';
+import { IAdaptiveModulationState, adaptiveModulationActionHandler } from './adaptiveModulationHandler';
+import { ITemperatureState, temperatureActionHandler } from './temperatureHandler';
+import { ISignalToInterferenceState, signalToInterferenceActionHandler } from './signalToInterferenceHandler';
+import { ICrossPolarDiscriminationState, crossPolarDiscriminationActionHandler } from './crossPolarDiscriminationHandler';
import { SetPanelAction } from '../actions/panelChangeActions';
import { IConnectedNetworkElementsState, connectedNetworkElementsActionHandler } from './connectedNetworkElementsActionHandler';
import { IAvailableLtpsState, availableLtpsActionHandler } from './availableLtpsActionHandler';
+import { PmDataInterval } from '../models/performanceDataType';
+import { TimeChangeAction } from '../actions/timeChangeAction';
+import { UpdateMountId } from '../actions/connectedNetworkElementsActions';
export interface IPerformanceHistoryStoreState {
+ mountId: string;
networkElements: IConnectedNetworkElementsState;
ltps: IAvailableLtpsState;
- performanceData15min: IPerformanceData15minState;
- performanceData24hours: IPerformanceData24hoursState;
- receiveLevel15min: IReceiveLevel15minState;
- receiveLevel24hours: IReceiveLevel24hoursState;
- transmissionPower15min: ITransmissionPower15minState;
- transmissionPower24hours: ITransmissionPower24hoursState;
- adaptiveModulation15min: IAdaptiveModulation15minState;
- adaptiveModulation24hours: IAdaptiveModulation24hoursState;
- temperature15min: ITemperature15minState;
- temperature24hours: ITemperature24hoursState;
- signalToInterference15min:ISignalToInterference15minState;
- signalToInterference24hours:ISignalToInterference24hoursState;
- crossPolarDiscrimination15min: ICrossPolarDiscrimination15minState;
- crossPolarDiscrimination24hours: ICrossPolarDiscrimination24hoursState;
+ performanceData: IPerformanceDataState;
+ receiveLevel: IReceiveLevelState;
+ transmissionPower: ITransmissionPowerState;
+ adaptiveModulation: IAdaptiveModulationState;
+ temperature: ITemperatureState;
+ signalToInterference: ISignalToInterferenceState;
+ crossPolarDiscrimination: ICrossPolarDiscriminationState;
currentOpenPanel: string | null;
+ pmDataIntervalType: PmDataInterval;
+}
+const mountIdHandler: IActionHandler<string> = (state = "", action) => {
+ if (action instanceof UpdateMountId) {
+ state = "";
+ if (action.nodeId) {
+ state = action.nodeId;
+ }
+ }
+ return state;
}
+
const currentOpenPanelHandler: IActionHandler<string | null> = (state = null, action) => {
if (action instanceof SetPanelAction) {
state = action.panelId;
@@ -53,6 +71,13 @@ const currentOpenPanelHandler: IActionHandler<string | null> = (state = null, ac
return state;
}
+const currentPMDataIntervalHandler: IActionHandler<PmDataInterval> = (state = PmDataInterval.pmInterval15Min, action) => {
+ if (action instanceof TimeChangeAction) {
+ state = action.time;
+ }
+ return state;
+}
+
declare module '../../../../framework/src/store/applicationStore' {
interface IApplicationStoreState {
performanceHistory: IPerformanceHistoryStoreState;
@@ -61,23 +86,18 @@ declare module '../../../../framework/src/store/applicationStore' {
}
const actionHandlers = {
+ mountId: mountIdHandler,
networkElements: connectedNetworkElementsActionHandler,
ltps: availableLtpsActionHandler,
- performanceData15min: performanceData15minActionHandler,
- performanceData24hours: performanceData24hoursActionHandler,
- receiveLevel15min: receiveLevel15minActionHandler,
- receiveLevel24hours: receiveLevel24hoursActionHandler,
- transmissionPower15min: transmissionPower15minActionHandler,
- transmissionPower24hours: transmissionPower24hoursActionHandler,
- adaptiveModulation15min: adaptiveModulation15minActionHandler,
- adaptiveModulation24hours: adaptiveModulation24hoursActionHandler,
- temperature15min: temperature15minActionHandler,
- temperature24hours: temperature24hoursActionHandler,
- signalToInterference15min: signalToInterference15minActionHandler,
- signalToInterference24hours: signalToInterference24hoursActionHandler,
- crossPolarDiscrimination15min: crossPolarDiscrimination15minActionHandler,
- crossPolarDiscrimination24hours: crossPolarDiscrimination24hoursActionHandler,
- currentOpenPanel: currentOpenPanelHandler
+ performanceData: performanceDataActionHandler,
+ receiveLevel: receiveLevelActionHandler,
+ transmissionPower: transmissionPowerActionHandler,
+ adaptiveModulation: adaptiveModulationActionHandler,
+ temperature: temperatureActionHandler,
+ signalToInterference: signalToInterferenceActionHandler,
+ crossPolarDiscrimination: crossPolarDiscriminationActionHandler,
+ currentOpenPanel: currentOpenPanelHandler,
+ pmDataIntervalType: currentPMDataIntervalHandler
};
const performanceHistoryRootHandler = combineActionHandler<IPerformanceHistoryStoreState>(actionHandlers);
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevel15minHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevel15minHandler.ts
deleted file mode 100644
index c7c5e177f..000000000
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevel15minHandler.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
-import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-
-
-import { ReceiveLevelDataType, ReceiveLevel, ReceiveLevelResult } from '../models/receiveLevelDataType';
-
-export interface IReceiveLevel15minState extends IExternalTableState<ReceiveLevelDataType> { }
-
-/**
- * Creates elastic search material data fetch handler for receiveLevel from historicalperformance15min database.
- */
-const receiveLevelSearchHandler = createSearchDataHandler<ReceiveLevelResult, ReceiveLevel>(
- "sdnperformance/historicalperformance15min",
- null,
- (hit) => ({
- _id: hit._id,
- ...hit._source,
- ...hit._source["performance-data"]
- }),
- (name) => `${name}`);
-
-export const {
- actionHandler: receiveLevel15minActionHandler,
- createActions: createReceiveLevel15minActions,
- createProperties: createReceiveLevel15minProperties,
- createPreActions: createReceiveLevel15minPreActions,
- reloadAction: receiveLevel15minReloadAction,
-} = createExternal<ReceiveLevelDataType>(receiveLevelSearchHandler, appState => appState.performanceHistory.receiveLevel15min);
-
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevel24hoursHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevel24hoursHandler.ts
deleted file mode 100644
index f665dfdc6..000000000
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevel24hoursHandler.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
-import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-
-
-import { ReceiveLevelDataType, ReceiveLevel, ReceiveLevelResult } from '../models/receiveLevelDataType';
-
-export interface IReceiveLevel24hoursState extends IExternalTableState<ReceiveLevelDataType> { }
-
-/**
- * Creates elastic search material data fetch handler for receiveLevel from historicalperformance24h database.
- */
-const receiveLevelSearchHandler = createSearchDataHandler<ReceiveLevelResult, ReceiveLevel>(
- "sdnperformance/historicalperformance24h",
- null,
- (hit) => ({
- _id: hit._id,
- ...hit._source,
- ...hit._source["performance-data"]
- }),
- (name) => `${name}`);
-
-export const {
- actionHandler: receiveLevel24hoursActionHandler,
- createActions: createReceiveLevel24hoursActions,
- createProperties: createReceiveLevel24hoursProperties,
- createPreActions: createReceiveLevel24hoursPreActions,
- reloadAction: receiveLevel24hoursReloadAction,
-} = createExternal<ReceiveLevelDataType>(receiveLevelSearchHandler, appState => appState.performanceHistory.receiveLevel24hours);
-
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevelHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevelHandler.ts
new file mode 100644
index 000000000..adb70b120
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevelHandler.ts
@@ -0,0 +1,63 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
+import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+import { ReceiveLevelDataType, ReceiveLevelResult } from '../models/receiveLevelDataType';
+import { getFilter } from '../utils/tableUtils';
+
+export interface IReceiveLevelState extends IExternalTableState<ReceiveLevelDataType> { }
+
+/**
+ * Creates elastic search material data fetch handler for receiveLevel from historicalperformance database.
+ */
+const receiveLevelSearchHandler = createSearchDataHandler<ReceiveLevelResult, ReceiveLevelDataType>(
+ getFilter,
+ null,
+ (hit) => ({
+ _id: hit._id,
+ radioSignalId: hit._source["radio-signal-id"],
+ scannerId: hit._source["scanner-id"],
+ utcTimeStamp: hit._source["time-stamp"],
+ suspectIntervalFlag: hit._source["suspect-interval-flag"],
+ rxLevelMin: hit._source["performance-data"]["rx-level-min"],
+ rxLevelAvg: hit._source["performance-data"]["rx-level-avg"],
+ rxLevelMax: hit._source["performance-data"]["rx-level-max"],
+ }),
+ (pmDataEntry: string) => {
+ switch (pmDataEntry) {
+ case "radioSignalId":
+ return "radio-signal-id";
+ case "scannerId":
+ return "scanner-id";
+ case "utcTimeStamp":
+ return "time-stamp"
+ case "suspectIntervalFlag":
+ return "suspect-interval-flag";
+ }
+ return pmDataEntry
+ });
+
+export const {
+ actionHandler: receiveLevelActionHandler,
+ createActions: createReceiveLevelActions,
+ createProperties: createReceiveLevelProperties,
+ createPreActions: createReceiveLevelPreActions,
+ reloadAction: receiveLevelReloadAction,
+} = createExternal<ReceiveLevelDataType>(receiveLevelSearchHandler, appState => appState.performanceHistory.receiveLevel);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterference15minHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterference15minHandler.ts
deleted file mode 100644
index 536a89ea7..000000000
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterference15minHandler.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
-import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-
-
-import { SignalToInterferenceDataType, SignalToInterference, SignalToInterferenceResult } from '../models/signalToInteferenceDataType';
-
-export interface ISignalToInterference15minState extends IExternalTableState<SignalToInterferenceDataType> { }
-
-/**
- * Creates elastic search material data fetch handler for SINR from historicalperformance15min database.
- */
-const signalToInterferenceSearchHandler = createSearchDataHandler<SignalToInterferenceResult, SignalToInterference>(
- "sdnperformance/historicalperformance15min",
- null,
- (hit) => ({
- _id: hit._id,
- ...hit._source,
- ...hit._source["performance-data"]
- }),
- (name) => `${name}`);
-
-export const {
- actionHandler: signalToInterference15minActionHandler,
- createActions: createSignalToInterference15minActions,
- createProperties: createSignalToInterference15minProperties,
- createPreActions: createSignalToInterference15minPreActions,
- reloadAction: signalToInterference15minReloadAction,
-} = createExternal<SignalToInterferenceDataType>(signalToInterferenceSearchHandler, appState => appState.performanceHistory.signalToInterference15min);
-
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterference24hoursHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterference24hoursHandler.ts
deleted file mode 100644
index a95d0aecf..000000000
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterference24hoursHandler.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
-import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-
-
-import { SignalToInterferenceDataType, SignalToInterference, SignalToInterferenceResult } from '../models/signalToInteferenceDataType';
-
-export interface ISignalToInterference24hoursState extends IExternalTableState<SignalToInterferenceDataType> { }
-
-/**
- * Creates elastic search material data fetch handler for SINR from historicalperformance24h database.
- */
-const signalToInterferenceSearchHandler = createSearchDataHandler<SignalToInterferenceResult, SignalToInterference>(
- "sdnperformance/historicalperformance24h",
- null,
- (hit) => ({
- _id: hit._id,
- ...hit._source,
- ...hit._source["performance-data"]
- }),
- (name) => `${name}`);
-
-export const {
- actionHandler: signalToInterference24hoursActionHandler,
- createActions: createSignalToInterference24hoursActions,
- createProperties: createSignalToInterference24hoursProperties,
- createPreActions: createSignalToInterference24hoursPreActions,
- reloadAction: signalToInterference24hoursReloadAction,
-} = createExternal<SignalToInterferenceDataType>(signalToInterferenceSearchHandler, appState => appState.performanceHistory.signalToInterference24hours);
-
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterferenceHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterferenceHandler.ts
new file mode 100644
index 000000000..aa75ba226
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterferenceHandler.ts
@@ -0,0 +1,63 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
+import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+import { SignalToInterferenceDataType, SignalToInterferenceResult } from '../models/signalToInteferenceDataType';
+import { getFilter } from '../utils/tableUtils';
+
+export interface ISignalToInterferenceState extends IExternalTableState<SignalToInterferenceDataType> { }
+
+/**
+ * Creates elastic search material data fetch handler for SINR from historicalperformance database.
+ */
+const signalToInterferenceSearchHandler = createSearchDataHandler<SignalToInterferenceResult, SignalToInterferenceDataType>(
+ getFilter,
+ null,
+ (hit) => ({
+ _id: hit._id,
+ radioSignalId: hit._source["radio-signal-id"],
+ scannerId: hit._source["scanner-id"],
+ utcTimeStamp: hit._source["time-stamp"],
+ suspectIntervalFlag: hit._source["suspect-interval-flag"],
+ snirMin: hit._source["performance-data"]["snir-min"],
+ snirAvg: hit._source["performance-data"]["snir-avg"],
+ snirMax: hit._source["performance-data"]["snir-max"],
+ }),
+ (pmDataEntry: string) => {
+ switch (pmDataEntry) {
+ case "radioSignalId":
+ return "radio-signal-id";
+ case "scannerId":
+ return "scanner-id";
+ case "utcTimeStamp":
+ return "time-stamp"
+ case "suspectIntervalFlag":
+ return "suspect-interval-flag";
+ }
+ return pmDataEntry
+ });
+
+export const {
+ actionHandler: signalToInterferenceActionHandler,
+ createActions: createSignalToInterferenceActions,
+ createProperties: createSignalToInterferenceProperties,
+ createPreActions: createSignalToInterferencePreActions,
+ reloadAction: signalToInterferenceReloadAction,
+} = createExternal<SignalToInterferenceDataType>(signalToInterferenceSearchHandler, appState => appState.performanceHistory.signalToInterference);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperature15minHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperature15minHandler.ts
deleted file mode 100644
index 20fb57035..000000000
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperature15minHandler.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
-import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-
-
-import { TemperatureDataType, Temperature, TemperatureResult } from '../models/temperatureDataType';
-
-export interface ITemperature15minState extends IExternalTableState<TemperatureDataType> { }
-
-/**
- * Creates elastic search material data fetch handler for Temperature from historicalperformance15min database.
- */
-const temperatureSearchHandler = createSearchDataHandler<TemperatureResult, Temperature>(
- "sdnperformance/historicalperformance15min",
- null,
- (hit) => ({
- _id: hit._id,
- ...hit._source,
- ...hit._source["performance-data"]
- }),
- (name) => `${name}`);
-
-export const {
- actionHandler: temperature15minActionHandler,
- createActions: createTemperature15minActions,
- createProperties: createTemperature15minProperties,
- createPreActions: createTemperature15minPreActions,
- reloadAction: temperature15minReloadAction,
-} = createExternal<TemperatureDataType>(temperatureSearchHandler, appState => appState.performanceHistory.temperature15min);
-
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperature24hoursHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperature24hoursHandler.ts
deleted file mode 100644
index 1c36ef876..000000000
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperature24hoursHandler.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
-import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-
-
-import { TemperatureDataType, Temperature, TemperatureResult } from '../models/temperatureDataType';
-
-export interface ITemperature24hoursState extends IExternalTableState<TemperatureDataType> { }
-
-/**
- * Creates elastic search material data fetch handler for temperature from historicalperformance24h database.
- */
-const temperatureSearchHandler = createSearchDataHandler<TemperatureResult, Temperature>(
- "sdnperformance/historicalperformance24h",
- null,
- (hit) => ({
- _id: hit._id,
- ...hit._source,
- ...hit._source["performance-data"]
- }),
- (name) => `${name}`);
-
-export const {
- actionHandler: temperature24hoursActionHandler,
- createActions: createTemperature24hoursActions,
- createProperties: createTemperature24hoursProperties,
- createPreActions: createTemperature24hoursPreActions,
- reloadAction: temperature24hoursReloadAction,
-} = createExternal<TemperatureDataType>(temperatureSearchHandler, appState => appState.performanceHistory.temperature24hours);
-
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperatureHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperatureHandler.ts
new file mode 100644
index 000000000..8a9ae7025
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperatureHandler.ts
@@ -0,0 +1,63 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
+import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+import { TemperatureDataType, TemperatureResult } from '../models/temperatureDataType';
+import { getFilter } from '../utils/tableUtils';
+
+export interface ITemperatureState extends IExternalTableState<TemperatureDataType> { }
+
+/**
+ * Creates elastic search material data fetch handler for Temperature from historicalperformance database.
+ */
+const temperatureSearchHandler = createSearchDataHandler<TemperatureResult, TemperatureDataType>(
+ getFilter,
+ null,
+ (hit) => ({
+ _id: hit._id,
+ radioSignalId: hit._source["radio-signal-id"],
+ scannerId: hit._source["scanner-id"],
+ utcTimeStamp: hit._source["time-stamp"],
+ suspectIntervalFlag: hit._source["suspect-interval-flag"],
+ rfTempMin: hit._source["performance-data"]["rf-temp-min"],
+ rfTempAvg: hit._source["performance-data"]["rf-temp-avg"],
+ rfTempMax: hit._source["performance-data"]["rf-temp-max"],
+ }),
+ (pmDataEntry: string) => {
+ switch (pmDataEntry) {
+ case "radioSignalId":
+ return "radio-signal-id";
+ case "scannerId":
+ return "scanner-id";
+ case "utcTimeStamp":
+ return "time-stamp"
+ case "suspectIntervalFlag":
+ return "suspect-interval-flag";
+ }
+ return pmDataEntry
+ });
+
+export const {
+ actionHandler: temperatureActionHandler,
+ createActions: createTemperatureActions,
+ createProperties: createTemperatureProperties,
+ createPreActions: createTemperaturePreActions,
+ reloadAction: temperatureReloadAction,
+} = createExternal<TemperatureDataType>(temperatureSearchHandler, appState => appState.performanceHistory.temperature);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPower15minHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPower15minHandler.ts
deleted file mode 100644
index e6ba90f10..000000000
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPower15minHandler.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
-import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-
-
-import { TransmissionPowerDataType, TransmissionPower, TransmissionPowerResult } from '../models/transmissionPowerDataType';
-
-export interface ITransmissionPower15minState extends IExternalTableState<TransmissionPowerDataType> { }
-
-/**
- * Creates elastic search material data fetch handler for Transmission power from historicalperformance15min database.
- */
-const transmissionPowerSearchHandler = createSearchDataHandler<TransmissionPowerResult, TransmissionPower>(
- "sdnperformance/historicalperformance15min",
- null,
- (hit) => ({
- _id: hit._id,
- ...hit._source,
- ...hit._source["performance-data"]
- }),
- (name) => `${name}`);
-
-export const {
- actionHandler: transmissionPower15minActionHandler,
- createActions: createTransmissionPower15minActions,
- createProperties: createTransmissionPower15minProperties,
- createPreActions: createTransmissionPower15minPreActions,
- reloadAction: transmissionPower15minReloadAction,
-} = createExternal<TransmissionPowerDataType>(transmissionPowerSearchHandler, appState => appState.performanceHistory.transmissionPower15min);
-
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPower24hoursHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPower24hoursHandler.ts
deleted file mode 100644
index de50629e1..000000000
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPower24hoursHandler.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
-import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
-
-import { TransmissionPowerDataType, TransmissionPower, TransmissionPowerResult } from '../models/transmissionPowerDataType';
-
-export interface ITransmissionPower24hoursState extends IExternalTableState<TransmissionPowerDataType> { }
-
-/**
- * Creates elastic search material data fetch handler for transmission power from historicalperformance24h database.
- */
-const transmissionPowerSearchHandler = createSearchDataHandler<TransmissionPowerResult, TransmissionPower>(
- "sdnperformance/historicalperformance24h",
- null,
- (hit) => ({
- _id: hit._id,
- ...hit._source,
- ...hit._source["performance-data"]
- }),
- (name) => `${name}`);
-
-export const {
- actionHandler: transmissionPower24hoursActionHandler,
- createActions: createTransmissionPower24hoursActions,
- createProperties: createTransmissionPower24hoursProperties,
- createPreActions: createTransmissionPower24hoursPreActions,
- reloadAction: transmissionPower24hoursReloadAction,
-} = createExternal<TransmissionPowerDataType>(transmissionPowerSearchHandler, appState => appState.performanceHistory.transmissionPower24hours);
-
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPowerHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPowerHandler.ts
new file mode 100644
index 000000000..c2ad82183
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPowerHandler.ts
@@ -0,0 +1,63 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
+import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+import { TransmissionPowerDataType, TransmissionPowerResult } from '../models/transmissionPowerDataType';
+import { getFilter } from '../utils/tableUtils';
+
+export interface ITransmissionPowerState extends IExternalTableState<TransmissionPowerDataType> { }
+
+/**
+ * Creates elastic search material data fetch handler for Transmission power from historicalperformance database.
+ */
+const transmissionPowerSearchHandler = createSearchDataHandler<TransmissionPowerResult, TransmissionPowerDataType>(
+ getFilter,
+ null,
+ (hit) => ({
+ _id: hit._id,
+ radioSignalId: hit._source["radio-signal-id"],
+ scannerId: hit._source["scanner-id"],
+ utcTimeStamp: hit._source["time-stamp"],
+ suspectIntervalFlag: hit._source["suspect-interval-flag"],
+ txLevelMin: hit._source["performance-data"]["tx-level-min"],
+ txLevelAvg: hit._source["performance-data"]["tx-level-avg"],
+ txLevelMax: hit._source["performance-data"]["tx-level-max"],
+ }),
+ (pmDataEntry: string) => {
+ switch (pmDataEntry) {
+ case "radioSignalId":
+ return "radio-signal-id";
+ case "scannerId":
+ return "scanner-id";
+ case "utcTimeStamp":
+ return "time-stamp"
+ case "suspectIntervalFlag":
+ return "suspect-interval-flag";
+ }
+ return pmDataEntry
+ });
+
+export const {
+ actionHandler: transmissionPowerActionHandler,
+ createActions: createTransmissionPowerActions,
+ createProperties: createTransmissionPowerProperties,
+ createPreActions: createTransmissionPowerPreActions,
+ reloadAction: transmissionPowerReloadAction,
+} = createExternal<TransmissionPowerDataType>(transmissionPowerSearchHandler, appState => appState.performanceHistory.transmissionPower);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/adaptiveModulationDataType.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/adaptiveModulationDataType.ts
index 701d54a38..9c1d28986 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/adaptiveModulationDataType.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/adaptiveModulationDataType.ts
@@ -1,52 +1,118 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
export { HitEntry, Result } from '../../../../framework/src/models';
/**
* Represents Adaptive Modulation data fields of the performance history table.
*/
-export type AdaptiveModulationDataType = {
- "_id": string;
+export type AdaptiveModulationDatabaseDataType = {
+ "time2-states-s": number;
+ "time2-states": number;
+ "time2-states-l": number;
+ "time4-states-s": number;
+ "time4-states": number;
+ "time4-states-l": number;
+ "time16-states-s": number;
+ "time16-states": number;
+ "time16-states-l": number;
+ "time32-states-s": number;
+ "time32-states": number;
+ "time32-states-l": number;
+ "time64-states-s": number;
+ "time64-states": number;
+ "time64-states-l": number;
+ "time128-states-s": number;
+ "time128-states": number;
+ "time128-states-l": number;
+ "time256-states-s": number;
+ "time256-states": number;
+ "time256-states-l": number;
+ "time512-states-s": number;
+ "time512-states": number;
+ "time512-states-l": number;
+ "time1024-states-s": number;
+ "time1024-states": number;
+ "time1024-states-l": number;
+ "time2048-states-s": number;
+ "time2048-states": number;
+ "time2048-states-l": number;
+ "time4096-states-s": number;
+ "time4096-states": number;
+ "time4096-states-l": number;
+ "time8192-states-s": number;
+ "time8192-states": number;
+ "time8192-states-l": number;
+};
+
+/**
+ * Represents Result type of database query
+ */
+export type AdaptiveModulationResult = {
+ "performance-data": AdaptiveModulationDatabaseDataType;
"radio-signal-id": string;
"scanner-id": string;
- "time-stamp": string;
"suspect-interval-flag": boolean;
- "time2-states-s": string;
- "time2-states": string;
- "time2-states-l": string;
- "time4-states-s": string;
- "time4-states": string;
- "time4-states-l": string;
- "time16-states-s": string;
- "time16-states": string;
- "time16-states-l": string;
- "time32-states-s": string;
- "time32-states": string;
- "time32-states-l": string;
- "time64-states-s": string;
- "time64-states": string;
- "time64-states-l": string;
- "time128-states-s": string;
- "time128-states": string;
- "time128-states-l": string;
- "time256-states-s": string;
- "time256-states": string;
- "time256-states-l": string;
- "time512-states-s": string;
- "time512-states": string;
- "time512-states-l": string;
- "time1024-states-s": string;
- "time1024-states": string;
- "time1024-states-l": string;
- "time2048-states-s": string;
- "time2048-states": string;
- "time2048-states-l": string;
- "time4096-states-s": string;
- "time4096-states": string;
- "time4096-states-l": string;
- "time8192-states-s": string;
- "time8192-states": string;
- "time8192-states-l": string;
+ "time-stamp": string;
};
-export type AdaptiveModulationResult = { "performance-data": AdaptiveModulationDataType };
-export type AdaptiveModulation = AdaptiveModulationDataType & { _id: string };
+/**
+ * Internally used type to provide table and chart data
+ */
+export type AdaptiveModulationDataType = {
+ radioSignalId: string;
+ scannerId: string;
+ utcTimeStamp: string;
+ suspectIntervalFlag: boolean;
+ "time2StatesS": number;
+ "time2States": number;
+ "time2StatesL": number;
+ "time4StatesS": number;
+ "time4States": number;
+ "time4StatesL": number;
+ "time16StatesS": number;
+ "time16States": number;
+ "time16StatesL": number;
+ "time32StatesS": number;
+ "time32States": number;
+ "time32StatesL": number;
+ "time64StatesS": number;
+ "time64States": number;
+ "time64StatesL": number;
+ "time128StatesS": number;
+ "time128States": number;
+ "time128StatesL": number;
+ "time256StatesS": number;
+ "time256States": number;
+ "time256StatesL": number;
+ "time512StatesS": number;
+ "time512States": number;
+ "time512StatesL": number;
+ "time1024StatesS": number;
+ "time1024States": number;
+ "time1024StatesL": number;
+ "time2048StatesS": number;
+ "time2048States": number;
+ "time2048StatesL": number;
+ "time4096StatesS": number;
+ "time4096States": number;
+ "time4096StatesL": number;
+ "time8192StatesS": number;
+ "time8192States": number;
+ "time8192StatesL": number;
+} & { _id: string }; \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/availableLtps.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/availableLtps.ts
index d5a6c6888..fcf7ad5f6 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/availableLtps.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/availableLtps.ts
@@ -1,3 +1,20 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
export type LtpIds = {
key: string
}
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/chartTypes.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/chartTypes.ts
index 8ea59e2ec..487cf029d 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/chartTypes.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/chartTypes.ts
@@ -1,33 +1,49 @@
-export interface IData {
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
+export interface IData {
x: string;
y: string;
}
-
+
/**
* Structure of chartjs dataset with the chart properties.
*/
- export interface IDataSet {
- name: string,
- label: string,
- lineTension: 0,
- bezierCurve: boolean;
- fill: boolean,
- borderColor: string,
- data: IData[],
- columnLabel:string
- }
+export interface IDataSet {
+ name: string,
+ label: string,
+ lineTension: 0,
+ bezierCurve: boolean;
+ fill: boolean,
+ borderColor: string,
+ data: IData[],
+ columnLabel: string
+}
/**
* Structure of chartjs dataset which is sent to the chart.
*/
- export interface IDataSetsObject {
- datasets: IDataSet[]
- }
+export interface IDataSetsObject {
+ datasets: IDataSet[]
+}
/**
* Interface used by chart for sorting on time-stamp
*/
- export interface ITimeStamp {
- "time-stamp": string;
- }
- \ No newline at end of file
+export interface ITimeStamp {
+ "utcTimeStamp": string;
+}
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/crossPolarDiscriminationDataType.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/crossPolarDiscriminationDataType.ts
index 43e74eb3e..ef4415393 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/crossPolarDiscriminationDataType.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/crossPolarDiscriminationDataType.ts
@@ -1,19 +1,53 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
export { HitEntry, Result } from '../../../../framework/src/models';
+
/**
- * Represents CPD data fields of the performance history table.
+ * Represents Receive level data fields of the performance history table.
*/
-export type CrossPolarDiscriminationDataType = {
- "_id": string;
+export type CrossPolarDiscriminationDatabaseDataType = {
+ "xpd-min": number;
+ "xpd-avg": number;
+ "xpd-max": number;
+};
+
+/**
+ * Represents Result type of database query
+ */
+export type CrossPolarDiscriminationResult = {
+ "performance-data": CrossPolarDiscriminationDatabaseDataType
"radio-signal-id": string;
"scanner-id": string;
- "time-stamp": string;
"suspect-interval-flag": boolean;
- "xpd-min": string;
- "xpd-avg": string;
- "xpd-max": string;
+ "time-stamp": string;
};
-export type CrossPolarDiscriminationResult = { "performance-data": CrossPolarDiscriminationDataType };
+/**
+ * Internally used type to provide table and chart data
+ */
+export type CrossPolarDiscriminationDataType = {
+ radioSignalId: string;
+ scannerId: string;
+ utcTimeStamp: string;
+ suspectIntervalFlag: boolean;
+ xpdMin: number;
+ xpdAvg: number;
+ xpdMax: number;
+} & { _id: string };
-export type CrossPolarDiscrimination = CrossPolarDiscriminationDataType & { _id: string }; \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/performanceDataType.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/performanceDataType.ts
index 3c9b5cb21..6af29c4a8 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/performanceDataType.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/performanceDataType.ts
@@ -1,19 +1,63 @@
-export { HitEntry, Result } from '../../../../framework/src/models';
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
+import { Moment } from "moment";
+
+//export { HitEntry, Result } from '../../../../framework/src/models';
/**
- * Represents performance data fields of the performance history table.
+ * Represents performance data fields of the performance history table as used in the database
*/
-export type PerformanceDataType = {
- "_id": string;
+export type PerformanceDatabaseDataType = {
+ "es": number;
+ "ses": number;
+ "unavailability": number;
+};
+
+
+/**
+ * Represents Result type of database query
+ */
+export type PerformanceResult = {
+ "performance-data": PerformanceDatabaseDataType;
"radio-signal-id": string;
"scanner-id": string;
- "time-stamp": string;
"suspect-interval-flag": boolean;
- "es": string;
- "ses": string;
- "unavailability": string;
+ "time-stamp": string;
};
-export type PerformanceResult = { "performance-data": PerformanceDataType };
+/**
+ * Internally used type to provide table and chart data
+ */
+export type PerformanceDataType = {
+ radioSignalId: string;
+ scannerId: string;
+ utcTimeStamp: string;
+ suspectIntervalFlag: boolean;
+ es: number;
+ ses: number;
+ unavailability: number;
+} & { _id: string };
+
-export type Performance = PerformanceDataType & { _id: string }; \ No newline at end of file
+/**
+ * Represents performance data time interval.
+ */
+export const enum PmDataInterval {
+ pmInterval15Min,
+ pmInterval24Hours
+} \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/receiveLevelDataType.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/receiveLevelDataType.ts
index 57ea48cce..836bf58d9 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/receiveLevelDataType.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/receiveLevelDataType.ts
@@ -1,19 +1,52 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
export { HitEntry, Result } from '../../../../framework/src/models';
/**
* Represents Receive level data fields of the performance history table.
*/
-export type ReceiveLevelDataType = {
- "_id": string;
+export type ReceiveLevelDatabaseDataType = {
+ "rx-level-min": number;
+ "rx-level-avg": number;
+ "rx-level-max": number;
+};
+
+/**
+ * Represents Result type of database query
+ */
+export type ReceiveLevelResult = {
+ "performance-data": ReceiveLevelDatabaseDataType
"radio-signal-id": string;
"scanner-id": string;
- "time-stamp": string;
"suspect-interval-flag": boolean;
- "rx-level-min": string;
- "rx-level-avg": string;
- "rx-level-max": string;
+ "time-stamp": string;
};
-export type ReceiveLevelResult = { "performance-data": ReceiveLevelDataType };
+/**
+ * Internally used type to provide table and chart data
+ */
+export type ReceiveLevelDataType = {
+ radioSignalId: string;
+ scannerId: string;
+ utcTimeStamp: string;
+ suspectIntervalFlag: boolean;
+ rxLevelMin: number;
+ rxLevelAvg: number;
+ rxLevelMax: number;
+} & { _id: string };
-export type ReceiveLevel = ReceiveLevelDataType & { _id: string };
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/signalToInteferenceDataType.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/signalToInteferenceDataType.ts
index 51d43b455..deb1d8f18 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/signalToInteferenceDataType.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/signalToInteferenceDataType.ts
@@ -1,19 +1,54 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
export { HitEntry, Result } from '../../../../framework/src/models';
+
/**
- * Represents Signal to interference data fields of the performance history table.
+ * Represents Receive level data fields of the performance history table.
*/
-export type SignalToInterferenceDataType = {
- "_id": string;
+export type SignalToInterferenceDatabaseDataType = {
+ "snir-min": number;
+ "snir-avg": number;
+ "snir-max": number;
+};
+
+/**
+ * Represents Result type of database query
+ */
+export type SignalToInterferenceResult = {
+ "performance-data": SignalToInterferenceDatabaseDataType
"radio-signal-id": string;
"scanner-id": string;
- "time-stamp": string;
"suspect-interval-flag": boolean;
- "snir-min": string;
- "snir-avg": string;
- "snir-max": string;
+ "time-stamp": string;
};
-export type SignalToInterferenceResult = { "performance-data": SignalToInterferenceDataType };
-export type SignalToInterference = SignalToInterferenceDataType & { _id: string };
+/**
+ * Internally used type to provide table and chart data
+ */
+export type SignalToInterferenceDataType = {
+ radioSignalId: string;
+ scannerId: string;
+ utcTimeStamp: string;
+ suspectIntervalFlag: boolean;
+ snirMin: number;
+ snirAvg: number;
+ snirMax: number;
+} & { _id: string };
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/temperatureDataType.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/temperatureDataType.ts
index 3179d7b6a..dd3ce5253 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/temperatureDataType.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/temperatureDataType.ts
@@ -1,19 +1,54 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
export { HitEntry, Result } from '../../../../framework/src/models';
+
/**
- * Represents Temperature data fields of the performance history table.
+ * Represents Receive level data fields of the performance history table.
*/
-export type TemperatureDataType = {
- "_id": string;
+export type TemperatureDatabaseDataType = {
+ "rf-temp-min": number;
+ "rf-temp-avg": number;
+ "rf-temp-max": number;
+};
+
+/**
+ * Represents Result type of database query
+ */
+export type TemperatureResult = {
+ "performance-data": TemperatureDatabaseDataType
"radio-signal-id": string;
"scanner-id": string;
- "time-stamp": string;
"suspect-interval-flag": boolean;
- "rf-temp-min": string;
- "rf-temp-avg": string;
- "rf-temp-max": string;
+ "time-stamp": string;
};
-export type TemperatureResult = { "performance-data": TemperatureDataType };
+/**
+ * Internally used type to provide table and chart data
+ */
+export type TemperatureDataType = {
+ radioSignalId: string;
+ scannerId: string;
+ utcTimeStamp: string;
+ suspectIntervalFlag: boolean;
+ rfTempMin: number;
+ rfTempAvg: number;
+ rfTempMax: number;
+} & { _id: string };
+
-export type Temperature = TemperatureDataType & { _id: string };
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/topologyNetConf.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/topologyNetConf.ts
index 84548ce45..6bd89411d 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/topologyNetConf.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/topologyNetConf.ts
@@ -1,3 +1,20 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
export interface TopologyNode {
"node-id": string;
"netconf-node-topology:connection-status": string;
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/transmissionPowerDataType.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/transmissionPowerDataType.ts
index af6f9892d..2c31f5378 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/transmissionPowerDataType.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/models/transmissionPowerDataType.ts
@@ -1,19 +1,53 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
export { HitEntry, Result } from '../../../../framework/src/models';
+
/**
- * Represents the TransmissionPower data fields of the performance history table.
+ * Represents Receive level data fields of the performance history table.
*/
-export type TransmissionPowerDataType = {
- "_id": string;
+export type TransmissionPowerDatabaseDataType = {
+ "tx-level-min": number;
+ "tx-level-avg": number;
+ "tx-level-max": number;
+};
+
+/**
+ * Represents Result type of database query
+ */
+export type TransmissionPowerResult = {
+ "performance-data": TransmissionPowerDatabaseDataType
"radio-signal-id": string;
"scanner-id": string;
- "time-stamp": string;
"suspect-interval-flag": boolean;
- "tx-level-min": string;
- "tx-level-avg": string;
- "tx-level-max": string;
+ "time-stamp": string;
};
-export type TransmissionPowerResult = { "performance-data": TransmissionPowerDataType };
+/**
+ * Internally used type to provide table and chart data
+ */
+export type TransmissionPowerDataType = {
+ radioSignalId: string;
+ scannerId: string;
+ utcTimeStamp: string;
+ suspectIntervalFlag: boolean;
+ txLevelMin: number;
+ txLevelAvg: number;
+ txLevelMax: number;
+} & { _id: string };
-export type TransmissionPower = TransmissionPowerDataType & { _id: string };
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/plugin.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/plugin.tsx
index 3e1263e34..a3fa2dbfe 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/plugin.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/plugin.tsx
@@ -1,17 +1,111 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
+import * as React from "react";
import { faBook } from '@fortawesome/free-solid-svg-icons';
import applicationManager from '../../../framework/src/services/applicationManager';
+import { withRouter, RouteComponentProps, Route, Switch, Redirect } from 'react-router-dom';
import performanceHistoryRootHandler from './handlers/performanceHistoryRootHandler';
-import PerformanceHistoryApplication from './views/performanceHistoryApplication';
+import { PmDataInterval } from './models/performanceDataType';
+import PerformanceHistoryApplication from './views/performanceHistoryApplication';
+import { ApplicationStore } from '../../../framework/src/store/applicationStore';
+
+import connect, { Connect, IDispatcher } from '../../../framework/src/flux/connect';
+import { IApplicationStoreState } from "../../../framework/src/store/applicationStore";
+import { updateMountIdActionCreator } from "./actions/connectedNetworkElementsActions";
+
+let api: {
+ readonly applicationStore: ApplicationStore | null;
+ readonly applicationStoreInitialized: Promise<ApplicationStore>;
+}
+
+const mapProps = (state: IApplicationStoreState) => ({
+});
+
+const mapDisp = (dispatcher: IDispatcher) => ({
+ updateMountId: (mountId: string) => dispatcher.dispatch(updateMountIdActionCreator(mountId))
+});
+
+let currentMountId: string | null = null;
+let lastUrl: string = "/performanceHistory";
+const PerformanceHistoryApplicationRouteAdapter = connect(mapProps, mapDisp)((props: RouteComponentProps<{ mountId?: string}> & Connect<typeof mapProps, typeof mapDisp>) => {
+ let mountId: string = "";
+ if (props.location.pathname !== lastUrl) {
+ // ensure the asynchronus update will only be called once per path
+ lastUrl = props.location.pathname;
+ let index = lastUrl.lastIndexOf("performanceHistory/");
+ if(index >= 0) {
+ mountId = lastUrl.substr(index+19);
+ } else {
+ mountId = "";
+ }
+
+ window.setTimeout(async () => {
+ // check if the mountId has changed
+ if (currentMountId !== mountId) {
+ currentMountId = mountId;
+ await props.updateMountId(currentMountId);
+ }
+ });
+ }
+ return (
+ <PerformanceHistoryApplication />
+ );
+});
+
+const PerformanceHistoryRouterApp = withRouter((props: RouteComponentProps) => {
+ props.history.action = "POP";
+ return (
+ <Switch>
+ <Route path={`${props.match.path}/:mountId`} component={PerformanceHistoryApplicationRouteAdapter} />
+ <Route path={`${props.match.path}`} component={PerformanceHistoryApplicationRouteAdapter} />
+ <Redirect to={`${props.match.path}`} />
+ </Switch>
+ )
+});
export function register() {
- applicationManager.registerApplication({
+ api = applicationManager.registerApplication({
name: "performanceHistory",
icon: faBook,
- rootComponent: PerformanceHistoryApplication,
+ rootComponent: PerformanceHistoryRouterApp,
rootActionHandler: performanceHistoryRootHandler,
menuEntry: "Performance"
});
-} \ No newline at end of file
+}
+
+export function setPmDataInterval(pmDataInterval: PmDataInterval): boolean {
+ let reload: boolean = true;
+ if (api && api.applicationStore) {
+ if (api.applicationStore.state.performanceHistory.pmDataIntervalType !== pmDataInterval) {
+ reload = true;
+ }
+ api.applicationStore.state.performanceHistory.pmDataIntervalType = pmDataInterval;
+ }
+ return reload;
+}
+
+
+export function getPmDataInterval(): PmDataInterval {
+ let result = api && api.applicationStore
+ ? api.applicationStore.state.performanceHistory.pmDataIntervalType
+ : PmDataInterval.pmInterval15Min;
+ return result ? result : PmDataInterval.pmInterval15Min;
+}
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/services/performanceHistoryService.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/services/performanceHistoryService.ts
index d0b8346cd..0f3c89b83 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/services/performanceHistoryService.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/services/performanceHistoryService.ts
@@ -1,3 +1,20 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
import { requestRest } from '../../../../framework/src/services/restService';
import { Result } from '../../../../framework/src/models/elasticSearch';
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/chartUtils.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/chartUtils.tsx
index 5d583e855..52b5ddb58 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/chartUtils.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/chartUtils.tsx
@@ -1,51 +1,75 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
import * as React from 'react';
import { IDataSetsObject } from '../models/chartTypes';
import { Line } from 'react-chartjs-2';
import * as moment from 'moment';
import { ITimeStamp } from 'models/chartTypes';
+const style: React.CSSProperties = {
+ height: "350px"
+}
export const lineChart = (chartPagedData: IDataSetsObject) => {
return (
- <Line ref="chart" data={chartPagedData} options={{
- scales: {
- xAxes: [{
- type: 'time',
- time: {
- displayFormats: {
- 'second': 'DD MMM YYYY HH:mm:ss',
- 'minute': 'DD MMM YYYY HH:mm:ss',
- 'hour': 'DD MMM YYYY HH:mm:ss',
- 'year': 'DD MMM YYYY HH:mm:ss',
+ <div style={style}>
+ <Line ref="chart" data={chartPagedData} options={{
+ responsive: true,
+ maintainAspectRatio: false,
+ scales: {
+ xAxes: [{
+ type: 'time',
+ time: {
+ displayFormats: {
+ 'second': 'DD MMM YYYY HH:mm:ss',
+ 'minute': 'DD MMM YYYY HH:mm:ss',
+ 'hour': 'DD MMM YYYY HH:mm:ss',
+ 'year': 'DD MMM YYYY HH:mm:ss',
+ },
+ parser: function (date: string) {
+ let offsetValue = new Date().getTimezoneOffset();
+ var utcDate = moment(date, 'YYYY-MM-DDTHH:mm:ss').utcOffset(offsetValue).utc(false);
+ return utcDate;
+ }
},
- parser: function (date: string) {
- let offsetValue = new Date().getTimezoneOffset();
- var utcDate = moment(date, 'YYYY-MM-DDTHH:mm:ss').utcOffset(offsetValue).utc(false);
- return utcDate;
- }
- },
- display: true,
- scaleLabel: {
- display: true,
- labelString: 'Timestamp'
- }
- }],
- yAxes: [{
- ticks: {
- beginAtZero: true
- },
- scaleLabel: {
display: true,
- labelString: 'Value'
- }
- }]
- }
- }} />
+ scaleLabel: {
+ display: true,
+ labelString: 'Timestamp'
+ }
+ }],
+ yAxes: [{
+ ticks: {
+ beginAtZero: true
+ },
+ scaleLabel: {
+ display: true,
+ labelString: 'Value'
+ }
+ }]
+ }
+ }} />
+ </div>
);
}
export const sortDataByTimeStamp = <T extends ITimeStamp>(_rows: T[]): T[] => {
return (_rows.sort((a, b) => {
- const result = Date.parse(a["time-stamp"]) - Date.parse(b["time-stamp"]);
+ const result = Date.parse(a["utcTimeStamp"]) - Date.parse(b["utcTimeStamp"]);
return isNaN(result) ? 0 : result;
}));
} \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/tableUtils.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/tableUtils.ts
index ad50e5165..865d89c88 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/tableUtils.ts
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/utils/tableUtils.ts
@@ -1,5 +1,36 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
import { ColumnType, ColumnModel } from '../../../../framework/src/components/material-table';
+import { PmDataInterval } from '../models/performanceDataType';
+import { getPmDataInterval } from '../plugin';
+
export const addColumnLabels = <T>(name: string, title: string, disableFilter = true, disableSorting = true): ColumnModel<T> => {
return { property: name as keyof T, title: title, type: ColumnType.text, disableFilter: disableFilter, disableSorting: disableSorting };
}
+
+export function getFilter(): string {
+ switch (getPmDataInterval()) {
+ case PmDataInterval.pmInterval15Min:
+ return "sdnperformance/historicalperformance15min";
+ case PmDataInterval.pmInterval24Hours:
+ return "sdnperformance/historicalperformance24h";
+ default:
+ throw new Error("Unknown time intervall");
+ }
+} \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/views/performanceHistoryApplication.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/views/performanceHistoryApplication.tsx
index 0cadfffe7..218250d18 100644
--- a/sdnr/wt/odlux/apps/performanceHistoryApp/src/views/performanceHistoryApplication.tsx
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/views/performanceHistoryApplication.tsx
@@ -1,3 +1,20 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt odlux
+ * =================================================================================================
+ * Copyright (C) 2019 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==========================================================================
+ */
import * as React from 'react';
import { createStyles, Theme, withStyles, WithStyles } from '@material-ui/core/styles';
@@ -8,8 +25,12 @@ import Select from '@material-ui/core/Select';
import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/connect';
import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore';
import { Panel } from '../../../../framework/src/components/material-ui';
+import { loadAllMountedNetworkElementsAsync } from '../../../connectApp/src/actions/mountedNetworkElementsActions';
+import { NavigateToApplication } from '../../../../framework/src/actions/navigationActions';
+import { Dispatch } from '../../../../framework/src/flux/store';
import { PanelId } from '../models/panelId';
+import { PmDataInterval } from '../models/performanceDataType';
import PerformanceData from '../components/performanceData';
import ReceiveLevel from '../components/receiveLevel';
import TransmissionPower from '../components/transmissionPower';
@@ -18,24 +39,18 @@ import Temperature from '../components/temperature';
import SignalToInterference from '../components/signalToInterference';
import CrossPolarDiscrimination from '../components/crossPolarDiscrimination';
import { loadAllConnectedNetworkElementsAsync } from '../actions/connectedNetworkElementsActions';
-import { loadAllMountedNetworkElementsAsync } from '../../../connectApp/src/actions/mountedNetworkElementsActions';
+import { TimeChangeAction } from '../actions/timeChangeAction';
import { loadDistinctLtpsbyNetworkElementAsync } from '../actions/ltpAction';
import { SetPanelAction } from '../actions/panelChangeActions';
-import { createPerformanceData15minPreActions, performanceData15minReloadAction } from '../handlers/performanceData15minHandler';
-import { createPerformanceData24hoursPreActions, performanceData24hoursReloadAction } from '../handlers/performanceData24hoursHandler';
-import { createReceiveLevel15minPreActions, receiveLevel15minReloadAction } from '../handlers/receiveLevel15minHandler';
-import { createReceiveLevel24hoursPreActions, receiveLevel24hoursReloadAction } from '../handlers/receiveLevel24hoursHandler';
-import { createTransmissionPower15minPreActions, transmissionPower15minReloadAction } from '../handlers/transmissionPower15minHandler';
-import { createTransmissionPower24hoursPreActions, transmissionPower24hoursReloadAction } from '../handlers/transmissionPower24hoursHandler';
-import { createAdaptiveModulation15minPreActions, adaptiveModulation15minReloadAction } from '../handlers/adaptiveModulation15minHandler';
-import { createAdaptiveModulation24hoursPreActions, adaptiveModulation24hoursReloadAction } from '../handlers/adaptiveModulation24hoursHandler';
-import { createTemperature15minPreActions, temperature15minReloadAction } from '../handlers/temperature15minHandler';
-import { createTemperature24hoursPreActions, temperature24hoursReloadAction } from '../handlers/temperature24hoursHandler';
-import { createSignalToInterference15minPreActions, signalToInterference15minReloadAction } from '../handlers/signalToInterference15minHandler';
-import { createSignalToInterference24hoursPreActions, signalToInterference24hoursReloadAction } from '../handlers/signalToInterference24hoursHandler';
-import { createCrossPolarDiscrimination15minPreActions, crossPolarDiscrimination15minReloadAction } from '../handlers/crossPolarDiscrimination15minHandler';
-import { createCrossPolarDiscrimination24hoursPreActions, crossPolarDiscrimination24hoursReloadAction } from '../handlers/crossPolarDiscrimination24hoursHandler';
+import { createPerformanceDataPreActions, performanceDataReloadAction, createPerformanceDataActions } from '../handlers/performanceDataHandler';
+import { createReceiveLevelPreActions, receiveLevelReloadAction, createReceiveLevelActions } from '../handlers/receiveLevelHandler';
+import { createTransmissionPowerPreActions, transmissionPowerReloadAction, createTransmissionPowerActions } from '../handlers/transmissionPowerHandler';
+import { createAdaptiveModulationPreActions, adaptiveModulationReloadAction, createAdaptiveModulationActions } from '../handlers/adaptiveModulationHandler';
+import { createTemperaturePreActions, temperatureReloadAction, createTemperatureActions } from '../handlers/temperatureHandler';
+import { createSignalToInterferencePreActions, signalToInterferenceReloadAction, createSignalToInterferenceActions } from '../handlers/signalToInterferenceHandler';
+import { createCrossPolarDiscriminationPreActions, crossPolarDiscriminationReloadAction, createCrossPolarDiscriminationActions } from '../handlers/crossPolarDiscriminationHandler';
+import { MaterialTable, MaterialTableCtorType } from '../../../../framework/src/components/material-table';
const PerformanceHistoryComponentStyles = (theme: Theme) => createStyles({
root: {
@@ -61,61 +76,65 @@ const PerformanceHistoryComponentStyles = (theme: Theme) => createStyles({
});
const mapProps = (state: IApplicationStoreState) => ({
+ ...state.performanceHistory,
activePanel: state.performanceHistory.currentOpenPanel,
availableLtps: state.performanceHistory.ltps.distinctLtps,
networkElements: state.performanceHistory.networkElements.connectedNetworkElementIds
});
const mapDispatcher = (dispatcher: IDispatcher) => ({
- reloadPerformanceData15min: () => dispatcher.dispatch(performanceData15minReloadAction),
- reloadPerformanceData24hours: () => dispatcher.dispatch(performanceData24hoursReloadAction),
- reloadReceiveLevel15min: () => dispatcher.dispatch(receiveLevel15minReloadAction),
- reloadReceiveLevel24hours: () => dispatcher.dispatch(receiveLevel24hoursReloadAction),
- reloadTransmissionPower15min: () => dispatcher.dispatch(transmissionPower15minReloadAction),
- reloadTransmissionPower24hours: () => dispatcher.dispatch(transmissionPower24hoursReloadAction),
- reloadAdaptiveModulation15min: () => dispatcher.dispatch(adaptiveModulation15minReloadAction),
- reloadAdaptiveModulation24hours: () => dispatcher.dispatch(adaptiveModulation24hoursReloadAction),
- reloadTemperature15min: () => dispatcher.dispatch(temperature15minReloadAction),
- reloadTemperature24hours: () => dispatcher.dispatch(temperature24hoursReloadAction),
- reloadSignalToInterference15min: () => dispatcher.dispatch(signalToInterference15minReloadAction),
- reloadSignalToInterference24hours: () => dispatcher.dispatch(signalToInterference24hoursReloadAction),
- reloadCrossPolarDiscrimination15min: () => dispatcher.dispatch(crossPolarDiscrimination15minReloadAction),
- reloadCrossPolarDiscrimination24hours: () => dispatcher.dispatch(crossPolarDiscrimination24hoursReloadAction),
- performanceData15minPreActions: createPerformanceData15minPreActions(dispatcher.dispatch),
- performanceData24hoursPreActions: createPerformanceData24hoursPreActions(dispatcher.dispatch),
- receiveLevel15minPreActions: createReceiveLevel15minPreActions(dispatcher.dispatch),
- receiveLevel24hoursPreActions: createReceiveLevel24hoursPreActions(dispatcher.dispatch),
- transmissionPower15minPreActions: createTransmissionPower15minPreActions(dispatcher.dispatch),
- transmissionPower24hoursPreActions: createTransmissionPower24hoursPreActions(dispatcher.dispatch),
- adaptiveModulation15minPreActions: createAdaptiveModulation15minPreActions(dispatcher.dispatch),
- adaptiveModulation24hoursPreActions: createAdaptiveModulation24hoursPreActions(dispatcher.dispatch),
- temperature15minPreActions: createTemperature15minPreActions(dispatcher.dispatch),
- temperature24hoursPreActions: createTemperature24hoursPreActions(dispatcher.dispatch),
- signalToInterference15minPreActions: createSignalToInterference15minPreActions(dispatcher.dispatch),
- signalToInterference24hoursPreActions: createSignalToInterference24hoursPreActions(dispatcher.dispatch),
- crossPolarDiscrimination15minPreActions: createCrossPolarDiscrimination15minPreActions(dispatcher.dispatch),
- crossPolarDiscrimination24hoursPreActions: createCrossPolarDiscrimination24hoursPreActions(dispatcher.dispatch),
- getConnectedNetworkElementsIds: async() => {
+ enableFilterPerformanceData: createPerformanceDataActions(dispatcher.dispatch),
+ enableFilterReceiveLevel: createReceiveLevelActions(dispatcher.dispatch),
+ enableFilterTransmissionPower: createTransmissionPowerActions(dispatcher.dispatch),
+ enableFilterAdaptiveModulation: createAdaptiveModulationActions(dispatcher.dispatch),
+ enableFilterTemperature: createTemperatureActions(dispatcher.dispatch),
+ enableFilterSinr: createSignalToInterferenceActions(dispatcher.dispatch),
+ enableFilterCpd: createCrossPolarDiscriminationActions(dispatcher.dispatch),
+ reloadPerformanceData: () => dispatcher.dispatch(performanceDataReloadAction),
+ reloadReceiveLevel: () => dispatcher.dispatch(receiveLevelReloadAction),
+ reloadTransmissionPower: () => dispatcher.dispatch(transmissionPowerReloadAction),
+ reloadAdaptiveModulation: () => dispatcher.dispatch(adaptiveModulationReloadAction),
+ reloadTemperature: () => dispatcher.dispatch(temperatureReloadAction),
+ reloadSignalToInterference: () => dispatcher.dispatch(signalToInterferenceReloadAction),
+ reloadCrossPolarDiscrimination: () => dispatcher.dispatch(crossPolarDiscriminationReloadAction),
+ performanceDataPreActions: createPerformanceDataPreActions(dispatcher.dispatch),
+ receiveLevelPreActions: createReceiveLevelPreActions(dispatcher.dispatch),
+ transmissionPowerPreActions: createTransmissionPowerPreActions(dispatcher.dispatch),
+ adaptiveModulationPreActions: createAdaptiveModulationPreActions(dispatcher.dispatch),
+ temperaturePreActions: createTemperaturePreActions(dispatcher.dispatch),
+ signalToInterferencePreActions: createSignalToInterferencePreActions(dispatcher.dispatch),
+ crossPolarDiscriminationPreActions: createCrossPolarDiscriminationPreActions(dispatcher.dispatch),
+ getConnectedNetworkElementsIds: async () => {
await dispatcher.dispatch(loadAllMountedNetworkElementsAsync)
dispatcher.dispatch(loadAllConnectedNetworkElementsAsync);
},
getDistinctLtpsIds: (selectedNetworkElement: string, selectedTimePeriod: string, selectedLtp: string, selectFirstLtp?: Function, resetLTP?: Function) => dispatcher.dispatch(loadDistinctLtpsbyNetworkElementAsync(selectedNetworkElement, selectedTimePeriod, selectedLtp, selectFirstLtp, resetLTP)),
- setCurrentPanel: (panelId: PanelId) => dispatcher.dispatch(new SetPanelAction(panelId))
+ setCurrentPanel: (panelId: PanelId) => dispatcher.dispatch(new SetPanelAction(panelId)),
+ timeIntervalChange: (time: PmDataInterval) => dispatcher.dispatch(new TimeChangeAction(time)),
+ changeNode: (nodeId: string) => dispatcher.dispatch((dispatch: Dispatch) => {
+ dispatch(new NavigateToApplication("performanceHistory", nodeId));
+ })
});
+export type NetworkElementType = {
+ mountId: string,
+}
+const NetworkElementTable = MaterialTable as MaterialTableCtorType<NetworkElementType>;
+
type PerformanceHistoryComponentProps = Connect<typeof mapProps, typeof mapDispatcher> & WithStyles<typeof PerformanceHistoryComponentStyles>;
type PerformanceHistoryComponentState = {
selectedNetworkElement: string,
selectedTimePeriod: string,
selectedLtp: string,
+ showNetworkElementsTable: boolean,
showLtps: boolean,
showPanels: boolean
};
/**
- * Represents the component for Performance history application.
- */
+* Represents the component for Performance history application.
+*/
class PerformanceHistoryComponent extends React.Component<PerformanceHistoryComponentProps, PerformanceHistoryComponentState>{
/**
* Initialises this instance
@@ -126,144 +145,125 @@ class PerformanceHistoryComponent extends React.Component<PerformanceHistoryComp
selectedNetworkElement: "-1",
selectedTimePeriod: "15min",
selectedLtp: "-1",
+ showNetworkElementsTable: true,
showLtps: false,
showPanels: false
};
}
+ onTogglePanel = (panelId: PanelId) => {
+ const nextActivePanel = panelId === this.props.activePanel ? null : panelId;
+ this.props.setCurrentPanel(nextActivePanel);
+ switch (nextActivePanel) {
+ case "PerformanceData":
+ this.props.reloadPerformanceData();
+ break;
+ case "ReceiveLevel":
+ this.props.reloadReceiveLevel();
+ break;
+ case "TransmissionPower":
+ this.props.reloadTransmissionPower();
+ break;
+ case "AdaptiveModulation":
+ this.props.reloadAdaptiveModulation();
+ break;
+ case "Temperature":
+ this.props.reloadTemperature();
+ break;
+ case "SINR":
+ this.props.reloadSignalToInterference();
+ break;
+ case "CPD":
+ this.props.reloadCrossPolarDiscrimination();
+ break;
+ default:
+ // do nothing if all panels are closed
+ break;
+ }
+ }
+
render(): JSX.Element {
const { classes } = this.props;
- const { activePanel } = this.props;
-
- const onTogglePanel = (panelId: PanelId) => {
- const nextActivePanel = panelId === this.props.activePanel ? null : panelId;
- this.props.setCurrentPanel(nextActivePanel);
- switch (nextActivePanel) {
- case "PerformanceData":
- if (this.state.selectedTimePeriod === "15min") {
- this.props.reloadPerformanceData15min();
- } else {
- this.props.reloadPerformanceData24hours();
- }
- break;
- case "ReceiveLevel":
- if (this.state.selectedTimePeriod === "15min") {
- this.props.reloadReceiveLevel15min();
- } else {
- this.props.reloadReceiveLevel24hours();
- }
- break;
- case "TransmissionPower":
- if (this.state.selectedTimePeriod === "15min") {
- this.props.reloadTransmissionPower15min();
- } else {
- this.props.reloadTransmissionPower24hours();
- }
- break;
- case "AdaptiveModulation":
- if (this.state.selectedTimePeriod === "15min") {
- this.props.reloadAdaptiveModulation15min();
- } else {
- this.props.reloadAdaptiveModulation24hours();
- }
- break;
- case "Temperature":
- if (this.state.selectedTimePeriod === "15min") {
- this.props.reloadTemperature15min();
- } else {
- this.props.reloadTemperature24hours();
- }
- break;
- case "SINR":
- if (this.state.selectedTimePeriod === "15min") {
- this.props.reloadSignalToInterference15min();
- } else {
- this.props.reloadSignalToInterference24hours();
- }
- break;
- case "CPD":
- if (this.state.selectedTimePeriod === "15min") {
- this.props.reloadCrossPolarDiscrimination15min();
- } else {
- this.props.reloadCrossPolarDiscrimination24hours();
- }
- break;
- default:
- // do nothing if all panels are closed
- break;
- }
+ const { activePanel, mountId } = this.props;
+ if (mountId === "") {
+ return (
+ <>
+ <h2>Please select the network element !</h2>
+ <NetworkElementTable idProperty={"mountId"} rows={ this.props.networkElements } asynchronus
+ onHandleClick={(event, rowData) => { this.handleNetworkElementSelect(rowData.mountId) }} columns={
+ [{ property: "mountId" }]
+ } />
+ </>
+ )
+ }
+ else {
+ this.handleURLChange(mountId);
+ return (
+ <>
+ <h2>Selected Network Element: { this.state.selectedNetworkElement } </h2>
+ { this.state.showLtps && (
+ <div>
+ <FormControl className={ classes.display }>
+ <span>
+ Select LTP
+ </span>
+ <Select className={ classes.selectDropdown } value={ this.state.selectedLtp } onChange={ this.handleLtpChange } >
+ <MenuItem value={ "-1" }><em>--Select--</em></MenuItem>
+ { this.props.availableLtps.map(ltp =>
+ (<MenuItem value={ ltp.key } key={ ltp.key }>{ ltp.key }</MenuItem>)) }
+ </Select>
+ <span> Time-Period </span>
+ <Select className={ classes.selectDropdown } value={ this.state.selectedTimePeriod } onChange={ this.handleTimePeriodChange } >
+ <MenuItem value={ "15min" }>15min</MenuItem>
+ <MenuItem value={ "24hours" }>24hours</MenuItem>
+ </Select>
+ </FormControl>
+ { this.state.showPanels && (
+ <div>
+ <Panel activePanel={ activePanel } panelId={ "PerformanceData" } onToggle={ this.onTogglePanel } title={ "Performance Data" }>
+ <PerformanceData selectedTimePeriod={ this.state.selectedTimePeriod } />
+ </Panel>
+ <Panel activePanel={ activePanel } panelId={ "ReceiveLevel" } onToggle={ this.onTogglePanel } title={ "Receive Level" }>
+ <ReceiveLevel selectedTimePeriod={ this.state.selectedTimePeriod } />
+ </Panel>
+ <Panel activePanel={ activePanel } panelId={ "TransmissionPower" } onToggle={ this.onTogglePanel } title={ "Transmission Power" }>
+ <TransmissionPower selectedTimePeriod={ this.state.selectedTimePeriod } />
+ </Panel>
+ <Panel activePanel={ activePanel } panelId={ "AdaptiveModulation" } onToggle={ this.onTogglePanel } title={ "Adaptive Modulation" }>
+ <AdaptiveModulation selectedTimePeriod={ this.state.selectedTimePeriod } />
+ </Panel>
+ <Panel activePanel={ activePanel } panelId={ "Temperature" } onToggle={ this.onTogglePanel } title={ "Temperature" }>
+ <Temperature selectedTimePeriod={ this.state.selectedTimePeriod } />
+ </Panel>
+ <Panel activePanel={ activePanel } panelId={ "SINR" } onToggle={ this.onTogglePanel } title={ "Signal-to-interference-plus-noise ratio (SINR)" }>
+ <SignalToInterference selectedTimePeriod={ this.state.selectedTimePeriod } />
+ </Panel>
+ <Panel activePanel={ activePanel } panelId={ "CPD" } onToggle={ this.onTogglePanel } title={ "Cross Polar Discrimination" }>
+ <CrossPolarDiscrimination selectedTimePeriod={ this.state.selectedTimePeriod } />
+ </Panel>
+ </div>
+ )}
+ </div>
+ )}
+ </>
+ );
}
-
- return (
- <>
- <div>
- <form className={ classes.root } autoComplete="off">
- <FormControl className={ classes.margin }>
- <span> Select Network element </span>
- <Select className={ classes.selectDropdown } value={ this.state.selectedNetworkElement } onChange={ this.handleNetworkElementChange }
- >
- <MenuItem value={ "-1" }><em>--Select--</em></MenuItem>
- { this.props.networkElements.map(ne =>
- (<MenuItem value={ ne.mountId } key={ ne.mountId }>{ ne.mountId }</MenuItem>))}
- </Select>
- </FormControl>
- </form>
- </div>
- { this.state.showLtps && (
- <div>
- <FormControl className={ classes.display }>
- <span>
- Select LTP
- </span>
- <Select className={ classes.selectDropdown } value={ this.state.selectedLtp } onChange={ this.handleLtpChange } >
- <MenuItem value={ "-1" }><em>--Select--</em></MenuItem>
- { this.props.availableLtps.map(ltp =>
- (<MenuItem value={ltp.key} key={ltp.key}>{ltp.key}</MenuItem>)) }
- </Select>
- <span> Time-Period </span>
- <Select className={ classes.selectDropdown } value={ this.state.selectedTimePeriod } onChange={ this.handleTimePeriodChange } >
- <MenuItem value={ "15min" }>15min</MenuItem>
- <MenuItem value={ "24hours" }>24hours</MenuItem>
- </Select>
- </FormControl>
- { this.state.showPanels && (
- <div>
- <Panel activePanel={ activePanel } panelId={ "PerformanceData" } onToggle={ onTogglePanel } title={ "Performance Data" }>
- <PerformanceData selectedTimePeriod={ this.state.selectedTimePeriod} />
- </Panel>
- <Panel activePanel={ activePanel } panelId={ "ReceiveLevel" } onToggle={ onTogglePanel } title={ "Receive Level" }>
- <ReceiveLevel selectedTimePeriod={ this.state.selectedTimePeriod} />
- </Panel>
- <Panel activePanel={ activePanel } panelId={ "TransmissionPower" } onToggle={ onTogglePanel } title={ "Transmission Power" }>
- <TransmissionPower selectedTimePeriod={ this.state.selectedTimePeriod} />
- </Panel>
- <Panel activePanel={ activePanel } panelId={ "AdaptiveModulation" } onToggle={ onTogglePanel } title={ "Adaptive Modulation" }>
- <AdaptiveModulation selectedTimePeriod={ this.state.selectedTimePeriod} />
- </Panel>
- <Panel activePanel={ activePanel } panelId={ "Temperature" } onToggle={ onTogglePanel } title={ "Temperature" }>
- <Temperature selectedTimePeriod={ this.state.selectedTimePeriod} />
- </Panel>
- <Panel activePanel={ activePanel } panelId={ "SINR" } onToggle={ onTogglePanel } title={ "Signal-to-interference-plus-noise ratio (SINR)" }>
- <SignalToInterference selectedTimePeriod={ this.state.selectedTimePeriod} />
- </Panel>
- <Panel activePanel={ activePanel } panelId={ "CPD" } onToggle={ onTogglePanel } title={ "Cross Polar Discrimination" }>
- <CrossPolarDiscrimination selectedTimePeriod={ this.state.selectedTimePeriod } />
- </Panel>
- </div>
- )}
- </div>
- )}
- </>
- );
};
public componentDidMount() {
this.props.getConnectedNetworkElementsIds();
+ this.props.enableFilterPerformanceData.onToggleFilter();
+ this.props.enableFilterReceiveLevel.onToggleFilter();
+ this.props.enableFilterTransmissionPower.onToggleFilter();
+ this.props.enableFilterTemperature.onToggleFilter();
+ this.props.enableFilterAdaptiveModulation.onToggleFilter();
+ this.props.enableFilterSinr.onToggleFilter();
+ this.props.enableFilterCpd.onToggleFilter();
}
/**
- * Function which selects the first ltp returned from the database on selection of network element.
- */
+ * Function which selects the first ltp returned from the database on selection of network element.
+ */
private selectFirstLtp = (firstLtp: string) => {
this.setState({
showPanels: true,
@@ -273,56 +273,55 @@ class PerformanceHistoryComponent extends React.Component<PerformanceHistoryComp
}
/**
- * A function which loads the tables based on prefilters defined by network element and ltp on selected time period.
- */
+ * A function which loads the tables based on prefilters defined by network element and ltp on selected time period.
+ */
private preFilterChangeAndReload = (networkElement: string, timePeriod: string, ltp: string) => {
const preFilter = {
"node-name": networkElement,
"uuid-interface": ltp
};
- if (timePeriod === "15min") {
- this.props.performanceData15minPreActions.onPreFilterChanged(preFilter);
- this.props.receiveLevel15minPreActions.onPreFilterChanged(preFilter);
- this.props.transmissionPower15minPreActions.onPreFilterChanged(preFilter);
- this.props.adaptiveModulation15minPreActions.onPreFilterChanged(preFilter);
- this.props.temperature15minPreActions.onPreFilterChanged(preFilter);
- this.props.signalToInterference15minPreActions.onPreFilterChanged(preFilter);
- this.props.crossPolarDiscrimination15minPreActions.onPreFilterChanged(preFilter);
- } else if (timePeriod === "24hours") {
- this.props.performanceData24hoursPreActions.onPreFilterChanged(preFilter);
- this.props.receiveLevel24hoursPreActions.onPreFilterChanged(preFilter);
- this.props.transmissionPower24hoursPreActions.onPreFilterChanged(preFilter);
- this.props.adaptiveModulation24hoursPreActions.onPreFilterChanged(preFilter);
- this.props.temperature24hoursPreActions.onPreFilterChanged(preFilter);
- this.props.signalToInterference24hoursPreActions.onPreFilterChanged(preFilter);
- this.props.crossPolarDiscrimination24hoursPreActions.onPreFilterChanged(preFilter);
- }
+ this.props.performanceDataPreActions.onPreFilterChanged(preFilter);
+ this.props.receiveLevelPreActions.onPreFilterChanged(preFilter);
+ this.props.transmissionPowerPreActions.onPreFilterChanged(preFilter);
+ this.props.adaptiveModulationPreActions.onPreFilterChanged(preFilter);
+ this.props.temperaturePreActions.onPreFilterChanged(preFilter);
+ this.props.signalToInterferencePreActions.onPreFilterChanged(preFilter);
+ this.props.crossPolarDiscriminationPreActions.onPreFilterChanged(preFilter);
+
}
- /**
- * Function which handles network element changes.
- */
- private handleNetworkElementChange = (event: React.ChangeEvent<HTMLSelectElement>) => {
- var showLtps: boolean = true;
- if (event.target.value === "-1") {
- showLtps = false;
- } else if (event.target.value !== this.state.selectedNetworkElement) {
- this.setState({
- showPanels: false
- });
- }
+ /**
+ * Function which handles network element changes.
+ */
+ private handleNetworkElementSelect = (selectedNetworkElement: string) => {
+
+ this.setState({
+ showLtps: true,
+ selectedNetworkElement: selectedNetworkElement,
+ showNetworkElementsTable: false,
+ showPanels: false,
+ selectedLtp: "-1"
+ });
+ this.props.changeNode(selectedNetworkElement);
+ this.props.getDistinctLtpsIds(selectedNetworkElement, this.state.selectedTimePeriod, "-1", this.selectFirstLtp);
+}
+
+private handleURLChange = (selectedNetworkElement: string) => {
+ if(selectedNetworkElement !== this.state.selectedNetworkElement) {
this.setState({
- showLtps: showLtps,
- selectedNetworkElement: event.target.value,
+ showLtps: true,
+ selectedNetworkElement: selectedNetworkElement,
+ showPanels: false,
selectedLtp: "-1"
});
- this.props.getDistinctLtpsIds(event.target.value, this.state.selectedTimePeriod, "-1", this.selectFirstLtp);
+ this.props.getDistinctLtpsIds(selectedNetworkElement, this.state.selectedTimePeriod, "-1", this.selectFirstLtp);
}
+}
- /**
- * Function which resets the ltps to "--select--" in the state if the passed parameter @ltpNotSelected is true.
- * @param ltpNotSelected: true, if existing selected is not available in the given time period, else false
- */
+/**
+ * Function which resets the ltps to "--select--" in the state if the passed parameter @ltpNotSelected is true.
+ * @param ltpNotSelected: true, if existing selected is not available in the given time period, else false
+ */
private resetLtpDropdown = (ltpNotSelected: boolean) => {
if (ltpNotSelected) {
this.setState({
@@ -332,23 +331,31 @@ class PerformanceHistoryComponent extends React.Component<PerformanceHistoryComp
}
/**
- * Function which handles the time period changes.
- */
+ * Function which handles the time period changes.
+ */
private handleTimePeriodChange = (event: React.ChangeEvent<HTMLSelectElement>) => {
+ const selectedTimeInterval = event.target.value === "15min"
+ ? PmDataInterval.pmInterval15Min
+ : PmDataInterval.pmInterval24Hours
+
this.setState({
selectedTimePeriod: event.target.value,
});
- if (event.target.value === "15min") {
- this.props.getDistinctLtpsIds(this.state.selectedNetworkElement, event.target.value, this.state.selectedLtp, undefined, this.resetLtpDropdown);
- } else if (event.target.value === "24hours") {
- this.props.getDistinctLtpsIds(this.state.selectedNetworkElement, event.target.value, this.state.selectedLtp, undefined, this.resetLtpDropdown);
- }
+ this.props.timeIntervalChange(selectedTimeInterval);
+ this.props.reloadPerformanceData();
+ this.props.reloadReceiveLevel();
+ this.props.reloadTransmissionPower();
+ this.props.reloadAdaptiveModulation();
+ this.props.reloadTemperature();
+ this.props.reloadSignalToInterference();
+ this.props.reloadCrossPolarDiscrimination();
+ this.props.getDistinctLtpsIds(this.state.selectedNetworkElement, event.target.value, this.state.selectedLtp, undefined, this.resetLtpDropdown);
this.preFilterChangeAndReload(this.state.selectedNetworkElement, event.target.value, this.state.selectedLtp);
}
/**
- * Function which handles the ltp changes.
- */
+ * Function which handles the ltp changes.
+ */
private handleLtpChange = (event: React.ChangeEvent<HTMLSelectElement>) => {
var showPanels: boolean = true;
if (event.target.value === "-1") {