Merge pull request #229 from paulkaplan/fix-stroke-color-eyedropping

Add missing code for updating stroke color from eyedropper
This commit is contained in:
Paul Kaplan 2017-12-19 12:01:38 -05:00 committed by GitHub
commit 01242aa1c1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -13,7 +13,8 @@ class StrokeColorIndicator extends React.Component {
constructor (props) { constructor (props) {
super(props); super(props);
bindAll(this, [ bindAll(this, [
'handleChangeStrokeColor' 'handleChangeStrokeColor',
'handleCloseStrokeColor'
]); ]);
// Flag to track whether an svg-update-worthy change has been made // Flag to track whether an svg-update-worthy change has been made
@ -33,11 +34,17 @@ class StrokeColorIndicator extends React.Component {
this._hasChanged = this._hasChanged || isDifferent; this._hasChanged = this._hasChanged || isDifferent;
this.props.onChangeStrokeColor(newColor); this.props.onChangeStrokeColor(newColor);
} }
handleCloseStrokeColor () {
if (!this.props.isEyeDropping) {
this.props.onCloseStrokeColor();
}
}
render () { render () {
return ( return (
<StrokeColorIndicatorComponent <StrokeColorIndicatorComponent
{...this.props} {...this.props}
onChangeStrokeColor={this.handleChangeStrokeColor} onChangeStrokeColor={this.handleChangeStrokeColor}
onCloseStrokeColor={this.handleCloseStrokeColor}
/> />
); );
} }
@ -45,6 +52,7 @@ class StrokeColorIndicator extends React.Component {
const mapStateToProps = state => ({ const mapStateToProps = state => ({
disabled: state.scratchPaint.mode === Modes.BRUSH, disabled: state.scratchPaint.mode === Modes.BRUSH,
isEyeDropping: state.scratchPaint.color.eyeDropper.active,
strokeColor: state.scratchPaint.color.strokeColor, strokeColor: state.scratchPaint.color.strokeColor,
strokeColorModalVisible: state.scratchPaint.modals.strokeColor strokeColorModalVisible: state.scratchPaint.modals.strokeColor
}); });
@ -63,7 +71,9 @@ const mapDispatchToProps = dispatch => ({
StrokeColorIndicator.propTypes = { StrokeColorIndicator.propTypes = {
disabled: PropTypes.bool.isRequired, disabled: PropTypes.bool.isRequired,
isEyeDropping: PropTypes.bool.isRequired,
onChangeStrokeColor: PropTypes.func.isRequired, onChangeStrokeColor: PropTypes.func.isRequired,
onCloseStrokeColor: PropTypes.func.isRequired,
onUpdateSvg: PropTypes.func.isRequired, onUpdateSvg: PropTypes.func.isRequired,
strokeColor: PropTypes.string, strokeColor: PropTypes.string,
strokeColorModalVisible: PropTypes.bool.isRequired strokeColorModalVisible: PropTypes.bool.isRequired