From 95dd9330dba5498068395e2987983f16499b25aa Mon Sep 17 00:00:00 2001 From: Laura Fuentes Grau Date: Fri, 23 Oct 2020 21:26:23 +0200 Subject: [PATCH] Add edit signals button to dashboard #262 --- src/dashboard/dashboard-button-group.js | 2 +- src/dashboard/dashboard.js | 9 +++-- src/signal/edit-signal-mapping.js | 51 ++++++++++++++++++------- 3 files changed, 45 insertions(+), 17 deletions(-) diff --git a/src/dashboard/dashboard-button-group.js b/src/dashboard/dashboard-button-group.js index 24a69e2..7f49292 100644 --- a/src/dashboard/dashboard-button-group.js +++ b/src/dashboard/dashboard-button-group.js @@ -92,7 +92,7 @@ class DashboardButtonGroup extends React.Component { ); buttons.push( - Add, edit or delete input signal } > + Add, edit or delete input signals } > diff --git a/src/dashboard/dashboard.js b/src/dashboard/dashboard.js index 2fbc259..fc60d2b 100644 --- a/src/dashboard/dashboard.js +++ b/src/dashboard/dashboard.js @@ -90,7 +90,7 @@ class Dashboard extends Component { dashboard.height = maxHeight + 80; } } - + // filter signals to the ones belonging to the scenario at hand let signals = [] let allSignals = SignalStore.getState(); @@ -118,6 +118,9 @@ class Dashboard extends Component { }); } + let editOutputSignalsModal = prevState.editOutputSignalsModal; + let editInputSignalsModal = prevState.editInputSignalsModal; + return { dashboard, widgets, @@ -131,8 +134,8 @@ class Dashboard extends Component { paused: prevState.paused || false, editModal: prevState.editModal || false, - editOutputSignalsModal: prevState.editOutputSignals || false, - editInputSignalsModal: prevState.editInputSignals || false, + editOutputSignalsModal: editOutputSignalsModal, + editInputSignalsModal: editInputSignalsModal, filesEditModal: prevState.filesEditModal || false, filesEditSaveState: prevState.filesEditSaveState || [], modalData: null, diff --git a/src/signal/edit-signal-mapping.js b/src/signal/edit-signal-mapping.js index d1638be..82a8442 100644 --- a/src/signal/edit-signal-mapping.js +++ b/src/signal/edit-signal-mapping.js @@ -18,6 +18,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import {Button, FormGroup, FormLabel, FormText} from 'react-bootstrap'; +import {Collapse} from 'react-collapse'; import Table from '../common/table'; import TableColumn from '../common/table-column'; import Dialog from "../common/dialogs/dialog"; @@ -40,7 +41,8 @@ class EditSignalMapping extends React.Component { this.state = { dir, signals: [], - modifiedSignalIDs : [] + modifiedSignalIDs : [], + openCollapse: false }; } @@ -49,15 +51,15 @@ class EditSignalMapping extends React.Component { // filter all signals by configID and direction let signals = []; if(props.signalID != null || typeof props.configs === "undefined"){ - signals = props.signals.filter((sig) => { - return (sig.configID === props.configID) && (sig.direction === state.dir); - }); - } - else{ - for(let i = 0; i < props.configs.length; i++){ - let temp = props.signals.filter((sig) => { - return (sig.configID === props.configs[i].id) && (sig.direction === state.dir); - }) + signals = props.signals.filter((sig) => { + return (sig.configID === props.configID) && (sig.direction === state.dir); + }); + } + else{ + for(let i = 0; i < props.configs.length; i++){ + let temp = props.signals.filter((sig) => { + return (sig.configID === props.configs[i].id) && (sig.direction === state.dir); + }) signals = signals.concat(temp); } } @@ -132,10 +134,20 @@ class EditSignalMapping extends React.Component { }; - handleAdd = () => { + handleAdd = (configID = null) => { + if(typeof this.props.configs !== "undefined"){ + + if(configID === null){ + this.setState({openCollapse: true}); + return + } + } + else{ + configID = this.props.configID; + } let newSignal = { - configID: this.props.configID, + configID: configID, direction: this.state.dir, name: "PlaceholderName", unit: "PlaceholderUnit", @@ -149,6 +161,7 @@ class EditSignalMapping extends React.Component { token: this.props.sessionToken }); + this.setState({openCollapse: false}); }; resetState() { @@ -190,7 +203,19 @@ class EditSignalMapping extends React.Component {
- + +
+
+ +
Choose a Component Configuration to add the signal to:
+
+ {typeof this.props.configs !== "undefined" && this.props.configs.map(config => ( + + + + ))} +
+