From 8eefcc31e7d139395f7b1d341bc174dae1ecec28 Mon Sep 17 00:00:00 2001 From: irismarie Date: Wed, 13 Jan 2021 09:55:38 +0100 Subject: [PATCH 1/2] WIP --- package-lock.json | 13 +++++++++++++ package.json | 1 + src/common/table.js | 3 ++- src/signal/edit-signal-mapping.js | 18 ++++++++++++++---- 4 files changed, 30 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 10f2405..0d23ec6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1184,6 +1184,14 @@ "minimist": "^1.2.0" } }, + "@createnl/grouped-checkboxes": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@createnl/grouped-checkboxes/-/grouped-checkboxes-1.1.2.tgz", + "integrity": "sha512-F4SoFF7UwktrpVeJPs/cQFP5Nn+1wpUm5v1/vzUcgseDGxvjXjLrs+F99ivH/TA3VDJbeFdBPi7gymmw2cessQ==", + "requires": { + "lodash.debounce": "^4.0.8" + } + }, "@csstools/convert-colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", @@ -10897,6 +10905,11 @@ "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", "integrity": "sha1-JI42By7ekGUB11lmIAqG2riyMXA=" }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + }, "lodash.flow": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", diff --git a/package.json b/package.json index 219d249..bb16f31 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "@fortawesome/fontawesome-svg-core": "^1.2.32", "@fortawesome/free-solid-svg-icons": "^5.15.1", "@fortawesome/react-fontawesome": "^0.1.12", + "@createnl/grouped-checkboxes": "^1.1.2", "babel-runtime": "^6.26.0", "bootstrap": "^4.5.3", "bufferutil": "^4.0.1", diff --git a/src/common/table.js b/src/common/table.js index 12d0ebf..a44be38 100644 --- a/src/common/table.js +++ b/src/common/table.js @@ -34,7 +34,8 @@ class CustomTable extends Component { } static defaultProps = { - width: null + width: null, + checked: true }; onClick(event, row, column) { diff --git a/src/signal/edit-signal-mapping.js b/src/signal/edit-signal-mapping.js index 82a8442..e977854 100644 --- a/src/signal/edit-signal-mapping.js +++ b/src/signal/edit-signal-mapping.js @@ -134,6 +134,10 @@ class EditSignalMapping extends React.Component { }; + handleRemove = () => { + + } + handleAdd = (configID = null) => { if(typeof this.props.configs !== "undefined"){ @@ -173,6 +177,10 @@ class EditSignalMapping extends React.Component { this.setState({signals: signals}) } + onSignalChecked(index, signal) { + console.log(index); + } + render() { const buttonStyle = { @@ -185,7 +193,7 @@ class EditSignalMapping extends React.Component { show={this.props.show} title="Edit Signal Mapping" buttonTitle="Save" - blendOutCancel = {true} + blendOutCancel = {false} onClose={(c) => this.onClose(c)} onReset={() => this.resetState()} valid={true} @@ -194,7 +202,8 @@ class EditSignalMapping extends React.Component { {this.props.direction} Mapping Click Index, Name or Unit cell to edit - +
this.onSignalChecked(index, event)} data={this.state.signals}> + this.onSignalChecked(index, event)} width='30' /> this.handleMappingChange(e, row, column)} /> this.handleMappingChange(e, row, column)} /> this.handleMappingChange(e, row, column)} /> @@ -202,8 +211,9 @@ class EditSignalMapping extends React.Component { this.handleDelete(index)} />
-
- +
+ +
From b90c34e0c9a773ec8b615c8d15fa7f5e9a31cb6d Mon Sep 17 00:00:00 2001 From: Laura Fuentes Grau Date: Tue, 16 Feb 2021 18:00:44 +0100 Subject: [PATCH 2/2] Delete (all) signal(s) with checkbox-button combination #269 --- src/signal/edit-signal-mapping.js | 57 +++++++++++++++++++++++++++---- 1 file changed, 50 insertions(+), 7 deletions(-) diff --git a/src/signal/edit-signal-mapping.js b/src/signal/edit-signal-mapping.js index e977854..7dec36a 100644 --- a/src/signal/edit-signal-mapping.js +++ b/src/signal/edit-signal-mapping.js @@ -17,7 +17,7 @@ import React from 'react'; import PropTypes from 'prop-types'; -import {Button, FormGroup, FormLabel, FormText} from 'react-bootstrap'; +import {Button, FormGroup, FormLabel, FormText, OverlayTrigger, Tooltip} from 'react-bootstrap'; import {Collapse} from 'react-collapse'; import Table from '../common/table'; import TableColumn from '../common/table-column'; @@ -64,6 +64,11 @@ class EditSignalMapping extends React.Component { } } + signals.forEach(signal => { + if(signal.checked == undefined) signal.checked = false + }); + + return { signals: signals, }; @@ -136,6 +141,17 @@ class EditSignalMapping extends React.Component { handleRemove = () => { + let checkedSignals = this.state.signals.filter(signal => signal.checked === true); + + checkedSignals.forEach(signal => { + AppDispatcher.dispatch({ + type: 'signals/start-remove', + data: signal, + token: this.props.sessionToken + }); + + }) + } handleAdd = (configID = null) => { @@ -177,8 +193,32 @@ class EditSignalMapping extends React.Component { this.setState({signals: signals}) } - onSignalChecked(index, signal) { - console.log(index); + onSignalChecked(signal) { + let tempSignals = this.state.signals; + const index = tempSignals.indexOf(signal); + + tempSignals[index].checked = !tempSignals[index].checked; + + this.setState({signals: tempSignals}); + + } + + checkAll(){ + let tempSignals = this.state.signals; + let allChecked = true; + + tempSignals.forEach(signal => + { + if(signal.checked === false){ + signal.checked = true; + allChecked = false; + } + }); + + if(allChecked){ + tempSignals.forEach(signal => signal.checked = false); + } + this.setState({signals: tempSignals}); } render() { @@ -202,8 +242,8 @@ class EditSignalMapping extends React.Component { {this.props.direction} Mapping Click Index, Name or Unit cell to edit - this.onSignalChecked(index, event)} data={this.state.signals}> - this.onSignalChecked(index, event)} width='30' /> +
this.onSignalChecked(signal)} data={this.state.signals}> + this.onSignalChecked(index, event)} checkboxKey='checked' width='30' /> this.handleMappingChange(e, row, column)} /> this.handleMappingChange(e, row, column)} /> this.handleMappingChange(e, row, column)} /> @@ -212,8 +252,11 @@ class EditSignalMapping extends React.Component {
- - + Check/Uncheck All } > + + + +