diff --git a/src/widget/edit-widget/edit-widget-color-zones-control.js b/src/widget/edit-widget/edit-widget-color-zones-control.js index a4bdf7e..4ade39f 100644 --- a/src/widget/edit-widget/edit-widget-color-zones-control.js +++ b/src/widget/edit-widget/edit-widget-color-zones-control.js @@ -33,7 +33,7 @@ class EditWidgetColorZonesControl extends React.Component { } }, selectedZone: null, - selectedIndex: 0, + selectedIndex: null, showColorPicker: false, originalColor: null, minValue: 0, @@ -61,22 +61,28 @@ class EditWidgetColorZonesControl extends React.Component { } } - this.setState({ widget }); + this.setState({ widget, selectedZone: null, selectedIndex: null }); this.sendEvent(widget); } removeZones = () => { - // remove zones - const widget = this.state.widget; + + let temp = this.state.widget; - /*this.state.selectedZones.forEach(row => { - widget.customProperties.zones.splice(row, 1); - }); + temp.customProperties.zones.splice(this.state.selectedIndex, 1); - this.setState({ selectedZones: [], widget });*/ + if(temp.customProperties.zones.length > 0){ + let length = temp.customProperties.zones.length + + for(let i= 0 ; i < length; i++){ + temp.customProperties.zones[i].min = i* 100/length; + temp.customProperties.zones[i].max = (i+1)* 100/length; + } + } + + this.setState({widget: temp,selectedZone: null, selectedIndex: null}); - this.sendEvent(widget); } changeCell = (event, row, column) => { @@ -97,8 +103,12 @@ class EditWidgetColorZonesControl extends React.Component { } editColorZone = (index) => { + if(this.state.selectedIndex !== index){ this.setState({selectedZone: this.state.widget.customProperties.zones[index], selectedIndex: index , minValue: this.state.widget.customProperties.zones[index].min, maxValue: this.state.widget.customProperties.zones[index].max}); - + } + else{ + this.setState({selectedZone: null, selectedIndex: null}); + } } openColorPicker = () =>{ @@ -119,8 +129,35 @@ class EditWidgetColorZonesControl extends React.Component { } } - handleMinMaxChange = () => { - } + handleMinChange = (e) => { + + if(e.target.value < 0) return; + this.setState({minValue: e.target.value}); + + let temp = this.state.widget; + temp.customProperties.zones[this.state.selectedIndex]['min'] = e.target.value; + + if(this.state.selectedIndex !== 0){ + temp.customProperties.zones[this.state.selectedIndex - 1]['max'] = e.target.value + } + + this.setState({ widget: temp }); + } + + handleMaxChange = (e) => { + + if(e.target.value > 100) return; + this.setState({maxValue: e.target.value}); + + let temp = this.state.widget; + temp.customProperties.zones[this.state.selectedIndex]['max'] = e.target.value; + + if(this.state.selectedIndex !== this.state.widget.customProperties.zones.length -1){ + temp.customProperties.zones[this.state.selectedIndex + 1]['min'] = e.target.value + } + + this.setState({ widget: temp }); + } sendEvent(widget) { // create event @@ -194,7 +231,7 @@ class EditWidgetColorZonesControl extends React.Component { step="any" placeholder="Min" value={this.state.minValue} - onChange={e => this.handleMinMaxChange(e)} /> + onChange={e => this.handleMinChange(e)} /> Max: @@ -203,11 +240,12 @@ class EditWidgetColorZonesControl extends React.Component { step="any" placeholder="Max" value={ this.state.maxValue} - onChange={e => this.handleMinMaxChange(e)} /> + onChange={e => this.handleMaxChange(e)} /> + this.closeEditModal(data)} widget={this.state.widget} zoneIndex={this.state.selectedIndex} controlId={'strokeStyle'} /> diff --git a/src/widget/widgets/table.js b/src/widget/widgets/table.js index 2a31cc8..8058df7 100644 --- a/src/widget/widgets/table.js +++ b/src/widget/widgets/table.js @@ -45,7 +45,6 @@ class WidgetTable extends Component { if (sig.direction === "out") { if (props.data[icID] != null && props.data[icID].output != null && props.data[icID].output.values != null) { if (props.data[icID].output.values[sig.index-1] !== undefined) { - console.log("Table: sig", sig) let data = props.data[icID].output.values[sig.index-1]; rows.push({ name: sig.name,