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/receiveLevel.tsx | 74 ++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 sdnr/wt/odlux/apps/performanceHistoryApp/src/components/receiveLevel.tsx (limited to 'sdnr/wt/odlux/apps/performanceHistoryApp/src/components/receiveLevel.tsx') diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/receiveLevel.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/receiveLevel.tsx new file mode 100644 index 000000000..5f62e585a --- /dev/null +++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/components/receiveLevel.tsx @@ -0,0 +1,74 @@ +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 { ReceiveLevelDataType } from '../models/receiveLevelDataType'; +import { createReceiveLevel15minProperties, createReceiveLevel15minActions, receiveLevel15minReloadAction } from '../handlers/receiveLevel15minHandler'; +import { createReceiveLevel24hoursProperties, createReceiveLevel24hoursActions, receiveLevel24hoursReloadAction } from '../handlers/receiveLevel24hoursHandler'; + + +const mapProps = (state: IApplicationStoreState) => ({ + receiveLevel15minProperties: createReceiveLevel15minProperties(state), + receiveLevel24hoursProperties: createReceiveLevel24hoursProperties(state), +}); + +const mapDisp = (dispatcher: IDispatcher) => ({ + receiveLevel15minActions: createReceiveLevel15minActions(dispatcher.dispatch), + receiveLevel24hoursActions: createReceiveLevel24hoursActions(dispatcher.dispatch), +}); + +type ReceiveLevelComponentProps = RouteComponentProps & Connect & { + selectedTimePeriod: string +}; + +const ReceiveLevelTable = MaterialTable as MaterialTableCtorType; + +/** + * The Component which gets the receiveLevel data from the database based on the selected time period. + */ +class ReceiveLevelComponent extends React.Component{ + render(): JSX.Element { + if (this.props.selectedTimePeriod == "15min") { + return ( + { + const suspectIntervalFlag = rowData["suspect-interval-flag"].toString(); + return
{suspectIntervalFlag}
+ } + }, + { property: "rx-level-min", title: "Rx min", type: ColumnType.text, disableFilter: true, disableSorting: true }, + { property: "rx-level-avg", title: "Rx avg", type: ColumnType.text, disableFilter: true, disableSorting: true }, + { property: "rx-level-max", title: "Rx max", type: ColumnType.text, disableFilter: true, disableSorting: true }, + ]} {...this.props.receiveLevel15minProperties} {...this.props.receiveLevel15minActions} /> + ); + } else { + return ( + { + const suspectIntervalFlag = rowData["suspect-interval-flag"].toString(); + return
{suspectIntervalFlag}
+ } + }, + { property: "rx-level-min", title: "Rx min", type: ColumnType.text, disableFilter: true, disableSorting: true }, + { property: "rx-level-avg", title: "Rx avg", type: ColumnType.text, disableFilter: true, disableSorting: true }, + { property: "rx-level-max", title: "Rx max", type: ColumnType.text, disableFilter: true, disableSorting: true }, + ]} {...this.props.receiveLevel24hoursProperties} {...this.props.receiveLevel24hoursActions} /> + ); + } + }; +} + +export const ReceiveLevel = withRouter(connect(mapProps, mapDisp)(ReceiveLevelComponent)); +export default ReceiveLevel; -- cgit 1.2.3-korg