summaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/performanceHistoryApp/src/views/performanceHistoryApplication.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/odlux/apps/performanceHistoryApp/src/views/performanceHistoryApplication.tsx')
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/views/performanceHistoryApplication.tsx441
1 files changed, 224 insertions, 217 deletions
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") {