From 62e834802dae0bd15504785503060d7875c7b4ad Mon Sep 17 00:00:00 2001 From: Herbert Eiselt Date: Thu, 28 Mar 2019 19:00:35 +0100 Subject: Add SDN-R odlux performance A UI displaying performance monitoring data Change-Id: I2a9c28549aee1bcac366354c343a63f884bf09e0 Issue-ID: SDNC-585 Signed-off-by: Herbert Eiselt --- .../src/components/signalToInterference.tsx | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 sdnr/wt/odlux/apps/performanceHistoryApp/src/components/signalToInterference.tsx (limited to 'sdnr/wt/odlux/apps/performanceHistoryApp/src/components/signalToInterference.tsx') diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/signalToInterference.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/signalToInterference.tsx new file mode 100644 index 000000000..bd612822e --- /dev/null +++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/signalToInterference.tsx @@ -0,0 +1,75 @@ +import * as React from 'react'; + +import { withRouter, RouteComponentProps } from 'react-router-dom'; + +import { MaterialTable, ColumnType, MaterialTableCtorType } from '../../../../framework/src/components/material-table'; +import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore'; +import connect, { Connect, IDispatcher } from '../../../../framework/src/flux/connect'; + +import { SignalToInterferenceDataType } from '../models/signalToInteferenceDataType'; +import { createSignalToInterference15minProperties, createSignalToInterference15minActions } from '../handlers/signalToInterference15minHandler'; +import { createSignalToInterference24hoursProperties, createSignalToInterference24hoursActions } from '../handlers/signalToInterference24hoursHandler'; + +const mapProps = (state: IApplicationStoreState) => ({ + signalToInterference15minProperties: createSignalToInterference15minProperties(state), + signalToInterference24hoursProperties: createSignalToInterference24hoursProperties(state), +}); + +const mapDisp = (dispatcher: IDispatcher) => ({ + signalToInterference15minActions: createSignalToInterference15minActions(dispatcher.dispatch), + signalToInterference24hoursActions: createSignalToInterference24hoursActions(dispatcher.dispatch), +}); + +type SignalToInterferenceComponentProps = RouteComponentProps & Connect & { + selectedTimePeriod: string +}; + +const SignalToInterferenceTable = MaterialTable as MaterialTableCtorType; + +/** + * The Component which gets the signal to interference data from the database based on the selected time period. + */ +class SignalToInterferenceComponent extends React.Component{ + render(): JSX.Element { + if (this.props.selectedTimePeriod == "15min") { + return ( + { + const suspectIntervalFlag = rowData["suspect-interval-flag"].toString(); + return
{suspectIntervalFlag}
+ } + }, + { property: "snir-min", title: "SINR (min)[db]", type: ColumnType.text, disableFilter: true, disableSorting: true }, + { property: "snir-avg", title: "SINR (avg)[db]", type: ColumnType.text, disableFilter: true, disableSorting: true }, + { property: "snir-max", title: "SINR (max)[db]", type: ColumnType.text, disableFilter: true, disableSorting: true }, + ]} {...this.props.signalToInterference15minProperties} {...this.props.signalToInterference15minActions} + /> + ); + } else { + return ( + { + const suspectIntervalFlag = rowData["suspect-interval-flag"].toString(); + return
{suspectIntervalFlag}
+ } + }, + { property: "snir-min", title: "SINR (min)[db]", type: ColumnType.text, disableFilter: true, disableSorting: true }, + { property: "snir-avg", title: "SINR (avg)[db]", type: ColumnType.text, disableFilter: true, disableSorting: true }, + { property: "snir-max", title: "SINR (max)[db]", type: ColumnType.text, disableFilter: true, disableSorting: true }, + ]} {...this.props.signalToInterference24hoursProperties} {...this.props.signalToInterference24hoursActions} + /> + ); + } + }; +} + +export const SignalToInterference = withRouter(connect(mapProps, mapDisp)(SignalToInterferenceComponent)); +export default SignalToInterference; -- cgit 1.2.3-korg