From d0fc4329aa47fa3fdcc3a9f3af31e977ad21b979 Mon Sep 17 00:00:00 2001 From: Aijana Schumann Date: Wed, 12 Feb 2020 09:08:39 +0100 Subject: Update odlux Fix scrolling and resizing bug in all tables, update the ui, minior bugfixes Issue-ID: SDNC-1067 Signed-off-by: Aijana Schumann Change-Id: I6322d5f612dcbc0c044b4b67ef3c73d6d2c90949 --- .../faultApp/src/actions/panelChangeActions.ts | 4 + .../apps/faultApp/src/views/faultApplication.tsx | 110 ++++++++++++--------- 2 files changed, 69 insertions(+), 45 deletions(-) (limited to 'sdnr/wt/odlux/apps/faultApp/src') diff --git a/sdnr/wt/odlux/apps/faultApp/src/actions/panelChangeActions.ts b/sdnr/wt/odlux/apps/faultApp/src/actions/panelChangeActions.ts index f032c139a..58da19d46 100644 --- a/sdnr/wt/odlux/apps/faultApp/src/actions/panelChangeActions.ts +++ b/sdnr/wt/odlux/apps/faultApp/src/actions/panelChangeActions.ts @@ -24,3 +24,7 @@ export class SetPanelAction extends Action { } } +export const setPanelAction = (panelId: PanelId) => { + return new SetPanelAction(panelId); +} + diff --git a/sdnr/wt/odlux/apps/faultApp/src/views/faultApplication.tsx b/sdnr/wt/odlux/apps/faultApp/src/views/faultApplication.tsx index fd1c48ac5..5adc9d49c 100644 --- a/sdnr/wt/odlux/apps/faultApp/src/views/faultApplication.tsx +++ b/sdnr/wt/odlux/apps/faultApp/src/views/faultApplication.tsx @@ -33,13 +33,13 @@ import { PanelId } from '../models/panelId'; import { createCurrentProblemsProperties, createCurrentProblemsActions, currentProblemsReloadAction } from '../handlers/currentProblemsHandler'; import { createAlarmLogEntriesProperties, createAlarmLogEntriesActions, alarmLogEntriesReloadAction } from '../handlers/alarmLogEntriesHandler'; -import { SetPanelAction } from '../actions/panelChangeActions'; -import { Tooltip, IconButton } from '@material-ui/core'; +import { setPanelAction } from '../actions/panelChangeActions'; +import { Tooltip, IconButton, AppBar, Tabs, Tab } from '@material-ui/core'; import RefreshIcon from '@material-ui/icons/Refresh'; import ClearStuckAlarmsDialog, { ClearStuckAlarmsDialogMode } from '../components/clearStuckAlarmsDialog'; const mapProps = (state: IApplicationStoreState) => ({ - activePanel: state.fault.currentOpenPanel, + panelId: state.fault.currentOpenPanel, currentProblemsProperties: createCurrentProblemsProperties(state), faultNotifications: state.fault.faultNotifications, alarmLogEntriesProperties: createAlarmLogEntriesProperties(state) @@ -50,7 +50,9 @@ const mapDisp = (dispatcher: IDispatcher) => ({ alarmLogEntriesActions: createAlarmLogEntriesActions(dispatcher.dispatch), reloadCurrentProblems: () => dispatcher.dispatch(currentProblemsReloadAction), reloadAlarmLogEntries: () => dispatcher.dispatch(alarmLogEntriesReloadAction), - setCurrentPanel: (panelId: PanelId) => dispatcher.dispatch(new SetPanelAction(panelId)), + switchActivePanel: (panelId: PanelId) => { + dispatcher.dispatch(setPanelAction(panelId)); + } }); type FaultApplicationComponentProps = RouteComponentProps & Connect; @@ -84,6 +86,29 @@ class FaultApplicationComponent extends React.Component, newValue: PanelId) => { + this.props.switchActivePanel(newValue); + //this.onToggleTabs(newValue); + } + + private onToggleTabs = (panelId: PanelId) => { + const nextActivePanel = panelId; + this.props.switchActivePanel(nextActivePanel); + switch (nextActivePanel) { + case 'CurrentProblem': + this.props.reloadCurrentProblems(); + break; + case 'AlarmLog': + this.props.reloadAlarmLogEntries(); + break; + case 'AlarmNotifications': + case null: + default: + // nothing to do + break; + } + }; + render(): JSX.Element { @@ -94,31 +119,19 @@ class FaultApplicationComponent extends React.Component 0 const customAction = areFaultsAvailable ? [refreshButton] : []; - const { activePanel } = this.props; - - const onTogglePanel = (panelId: PanelId) => { - const nextActivePanel = panelId === this.props.activePanel ? null : panelId; - this.props.setCurrentPanel(nextActivePanel); - - switch (nextActivePanel) { - case 'CurrentProblem': - this.props.reloadCurrentProblems(); - break; - case 'AlarmLog': - this.props.reloadAlarmLogEntries(); - break; - case 'AlarmNotifications': - case null: - default: - // nothing to do - break; - } - }; + const { panelId: activePanelId } = this.props; return ( <> - - + + + + + + + { + activePanelId === 'CurrentProblem' && - - - - - - - - { - this.state.clearAlarmDialogMode !== ClearStuckAlarmsDialogMode.None && } + {activePanelId === 'AlarmLog' && + + } + { + this.state.clearAlarmDialogMode !== ClearStuckAlarmsDialogMode.None && + } - ); + ) + }; public componentDidMount() { + + if (this.props.panelId === null) { //don't change tabs, if one is selected already + this.onToggleTabs("CurrentProblem"); + } + this.props.alarmLogEntriesActions.onToggleFilter(); this.props.currentProblemsActions.onToggleFilter(); } -- cgit 1.2.3-korg