mirror of
https://github.com/scratchfoundation/scratch-paint.git
synced 2025-03-23 03:15:55 -04:00
the declarations done to avoid lint errors actually broke hover, so put them back
This commit is contained in:
parent
f1fdd436fa
commit
9a09c4324d
3 changed files with 14 additions and 16 deletions
|
@ -62,6 +62,8 @@ const mapDispatchToProps = dispatch => ({
|
||||||
dispatch(changeMode(Modes.BRUSH));
|
dispatch(changeMode(Modes.BRUSH));
|
||||||
} else if (event.key === 'l') {
|
} else if (event.key === 'l') {
|
||||||
dispatch(changeMode(Modes.LINE));
|
dispatch(changeMode(Modes.LINE));
|
||||||
|
} else if (event.key === 's') {
|
||||||
|
dispatch(changeMode(Modes.SELECT));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -68,9 +68,6 @@ class SelectMode extends React.Component {
|
||||||
|
|
||||||
// Define these to sate linter
|
// Define these to sate linter
|
||||||
const selectMode = this;
|
const selectMode = this;
|
||||||
const hoveredItemProp = this.props.hoveredItem;
|
|
||||||
const setHoveredItemProp = this.props.setHoveredItem;
|
|
||||||
const onUpdateSvgProp = this.props.onUpdateSvg;
|
|
||||||
|
|
||||||
this.tool.onMouseDown = function (event) {
|
this.tool.onMouseDown = function (event) {
|
||||||
if (event.event.button > 0) return; // only first mouse button
|
if (event.event.button > 0) return; // only first mouse button
|
||||||
|
@ -88,13 +85,11 @@ class SelectMode extends React.Component {
|
||||||
|
|
||||||
this.tool.onMouseMove = function (event) {
|
this.tool.onMouseMove = function (event) {
|
||||||
const hoveredItem = getHoveredItem(event, selectMode.getHitOptions());
|
const hoveredItem = getHoveredItem(event, selectMode.getHitOptions());
|
||||||
if ((!hoveredItem && hoveredItemProp) || // There is no longer a hovered item
|
const oldHoveredItem = selectMode.props.hoveredItem;
|
||||||
(hoveredItem && !hoveredItemProp) || // There is now a hovered item
|
if ((!hoveredItem && oldHoveredItem) || // There is no longer a hovered item
|
||||||
(hoveredItem && hoveredItemProp && hoveredItem.id !== hoveredItemProp.id)) { // hovered item changed
|
(hoveredItem && !oldHoveredItem) || // There is now a hovered item
|
||||||
if (hoveredItemProp) {
|
(hoveredItem && oldHoveredItem && hoveredItem.id !== oldHoveredItem.id)) { // hovered item changed
|
||||||
hoveredItemProp.remove();
|
selectMode.props.setHoveredItem(hoveredItem);
|
||||||
}
|
|
||||||
setHoveredItemProp(hoveredItem);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -122,7 +117,7 @@ class SelectMode extends React.Component {
|
||||||
selectMode.boundingBoxTool.setSelectionBounds();
|
selectMode.boundingBoxTool.setSelectionBounds();
|
||||||
} else {
|
} else {
|
||||||
selectMode.boundingBoxTool.onMouseUp(event);
|
selectMode.boundingBoxTool.onMouseUp(event);
|
||||||
onUpdateSvgProp();
|
selectMode.props.onUpdateSvg();
|
||||||
}
|
}
|
||||||
selectMode.selectionBoxMode = false;
|
selectMode.selectionBoxMode = false;
|
||||||
selectMode.selectionRect = null;
|
selectMode.selectionRect = null;
|
||||||
|
@ -146,10 +141,10 @@ class SelectMode extends React.Component {
|
||||||
SelectMode.propTypes = {
|
SelectMode.propTypes = {
|
||||||
clearHoveredItem: PropTypes.func.isRequired,
|
clearHoveredItem: PropTypes.func.isRequired,
|
||||||
handleMouseDown: PropTypes.func.isRequired,
|
handleMouseDown: PropTypes.func.isRequired,
|
||||||
hoveredItem: PropTypes.instanceOf(paper.Item),
|
hoveredItem: PropTypes.instanceOf(paper.Item), // eslint-disable-line react/no-unused-prop-types
|
||||||
isSelectModeActive: PropTypes.bool.isRequired,
|
isSelectModeActive: PropTypes.bool.isRequired,
|
||||||
onUpdateSvg: PropTypes.func.isRequired,
|
onUpdateSvg: PropTypes.func.isRequired, // eslint-disable-line react/no-unused-prop-types
|
||||||
setHoveredItem: PropTypes.func.isRequired
|
setHoveredItem: PropTypes.func.isRequired // eslint-disable-line react/no-unused-prop-types
|
||||||
};
|
};
|
||||||
|
|
||||||
const mapStateToProps = state => ({
|
const mapStateToProps = state => ({
|
||||||
|
|
|
@ -13,11 +13,12 @@ const SelectionHOV = function (WrappedComponent) {
|
||||||
componentDidUpdate (prevProps) {
|
componentDidUpdate (prevProps) {
|
||||||
if (this.props.hoveredItem && this.props.hoveredItem !== prevProps.hoveredItem) {
|
if (this.props.hoveredItem && this.props.hoveredItem !== prevProps.hoveredItem) {
|
||||||
// A hover item has been added. Update the view
|
// A hover item has been added. Update the view
|
||||||
paper.view.update();
|
if (prevProps.hoveredItem) {
|
||||||
|
prevProps.hoveredItem.remove();
|
||||||
|
}
|
||||||
} else if (!this.props.hoveredItem && prevProps.hoveredItem) {
|
} else if (!this.props.hoveredItem && prevProps.hoveredItem) {
|
||||||
// Remove the hover item
|
// Remove the hover item
|
||||||
prevProps.hoveredItem.remove();
|
prevProps.hoveredItem.remove();
|
||||||
paper.view.update();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
render () {
|
render () {
|
||||||
|
|
Loading…
Reference in a new issue