diff --git a/src/containers/widget.js b/src/containers/widget.js index 6a1ac6c..8f17940 100644 --- a/src/containers/widget.js +++ b/src/containers/widget.js @@ -11,6 +11,7 @@ import React, { Component } from 'react'; import { Container } from 'flux/utils'; import { ContextMenuTrigger } from 'react-contextmenu'; import Rnd from 'react-rnd'; +import classNames from 'classnames'; import AppDispatcher from '../app-dispatcher'; import SimulatorDataStore from '../stores/simulator-data-store'; @@ -117,6 +118,7 @@ class Widget extends Component { // get widget element const widget = this.props.data; + var borderedWidget = false; var element = null; // dummy is passed to widgets to keep updating them while in edit mode @@ -124,14 +126,18 @@ class Widget extends Component { element = } else if (widget.type === 'Plot') { element = + borderedWidget = true; } else if (widget.type === 'Table') { element = } else if (widget.type === 'Label') { element = + borderedWidget = true; } else if (widget.type === 'PlotTable') { element = this.props.onWidgetStatusChange(w, this.props.index) } /> + borderedWidget = true; } else if (widget.type === 'Image') { element = + borderedWidget = true; } else if (widget.type === 'Button') { element = } else if (widget.type === 'NumberInput') { @@ -142,6 +148,12 @@ class Widget extends Component { element = } + let widgetClasses = classNames({ + 'widget': !this.props.editing, + 'editing-widget': this.props.editing, + 'border': borderedWidget + }); + if (this.props.editing) { return ( this.borderWasClicked(event) } onResizeStop={(direction, styleSize, clientSize, delta) => this.resizeStop(direction, styleSize, clientSize, delta)} onDragStop={(event, ui) => this.dragStop(event, ui)} @@ -165,7 +177,7 @@ class Widget extends Component { ); } else { return ( -
+
{element}
); diff --git a/src/styles/widgets.css b/src/styles/widgets.css index 78795e1..c8b5678 100644 --- a/src/styles/widgets.css +++ b/src/styles/widgets.css @@ -8,11 +8,20 @@ **********************************************************************************/ .widget { - background-color: #fff; + background-color: #fff; +} + +.border { + border: 1px solid lightgray; } .editing-widget { - background-color: #fff; + background-color: #fff; +} + +.editing-widget:not(.border):hover { + outline: 1px solid lightgray; + outline-offset: -10px; } /* Area to trigger the context menu */ @@ -134,7 +143,6 @@ div[class*="-widget"] .btn[disabled], .btn.disabled, div[class*="-widget"] input width: 100%; height: 100%; padding: 3px 6px; - border: 1px solid lightgray; } .plot-table-widget {