@pie-element/hotspot 9.3.4-next.0 → 10.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/configure/lib/DeleteWidget.js +30 -43
  2. package/configure/lib/DeleteWidget.js.map +1 -1
  3. package/configure/lib/button.js +26 -45
  4. package/configure/lib/button.js.map +1 -1
  5. package/configure/lib/buttons/circle.js +20 -27
  6. package/configure/lib/buttons/circle.js.map +1 -1
  7. package/configure/lib/buttons/polygon.js +26 -33
  8. package/configure/lib/buttons/polygon.js.map +1 -1
  9. package/configure/lib/buttons/rectangle.js +26 -33
  10. package/configure/lib/buttons/rectangle.js.map +1 -1
  11. package/configure/lib/defaults.js +2 -3
  12. package/configure/lib/defaults.js.map +1 -1
  13. package/configure/lib/hotspot-circle.js +132 -198
  14. package/configure/lib/hotspot-circle.js.map +1 -1
  15. package/configure/lib/hotspot-container.js +250 -355
  16. package/configure/lib/hotspot-container.js.map +1 -1
  17. package/configure/lib/hotspot-drawable.js +360 -472
  18. package/configure/lib/hotspot-drawable.js.map +1 -1
  19. package/configure/lib/hotspot-palette.js +92 -139
  20. package/configure/lib/hotspot-palette.js.map +1 -1
  21. package/configure/lib/hotspot-polygon.js +212 -317
  22. package/configure/lib/hotspot-polygon.js.map +1 -1
  23. package/configure/lib/hotspot-rectangle.js +128 -192
  24. package/configure/lib/hotspot-rectangle.js.map +1 -1
  25. package/configure/lib/icons.js.map +1 -1
  26. package/configure/lib/image-konva.js +46 -86
  27. package/configure/lib/image-konva.js.map +1 -1
  28. package/configure/lib/index.js +162 -222
  29. package/configure/lib/index.js.map +1 -1
  30. package/configure/lib/root.js +301 -393
  31. package/configure/lib/root.js.map +1 -1
  32. package/configure/lib/shapes/circle.js +69 -101
  33. package/configure/lib/shapes/circle.js.map +1 -1
  34. package/configure/lib/shapes/index.js +4 -12
  35. package/configure/lib/shapes/index.js.map +1 -1
  36. package/configure/lib/shapes/polygon.js +64 -96
  37. package/configure/lib/shapes/polygon.js.map +1 -1
  38. package/configure/lib/shapes/rectagle.js +69 -101
  39. package/configure/lib/shapes/rectagle.js.map +1 -1
  40. package/configure/lib/shapes/utils.js +2 -8
  41. package/configure/lib/shapes/utils.js.map +1 -1
  42. package/configure/lib/upload-control.js +25 -52
  43. package/configure/lib/upload-control.js.map +1 -1
  44. package/configure/lib/utils.js +84 -137
  45. package/configure/lib/utils.js.map +1 -1
  46. package/configure/package.json +11 -10
  47. package/configure/src/__tests__/hotspot-container.test.js +50 -19
  48. package/configure/src/__tests__/hotspot-drawable.test.js +55 -34
  49. package/configure/src/__tests__/index.test.js +167 -5
  50. package/configure/src/__tests__/root.test.js +89 -63
  51. package/configure/src/button.jsx +12 -20
  52. package/configure/src/hotspot-circle.jsx +5 -18
  53. package/configure/src/hotspot-container.jsx +82 -98
  54. package/configure/src/hotspot-drawable.jsx +43 -45
  55. package/configure/src/hotspot-palette.jsx +45 -37
  56. package/configure/src/hotspot-polygon.jsx +4 -20
  57. package/configure/src/hotspot-rectangle.jsx +4 -17
  58. package/configure/src/index.js +12 -2
  59. package/configure/src/root.jsx +85 -79
  60. package/configure/src/upload-control.jsx +6 -16
  61. package/controller/lib/defaults.js +2 -3
  62. package/controller/lib/defaults.js.map +1 -1
  63. package/controller/lib/index.js +151 -205
  64. package/controller/lib/index.js.map +1 -1
  65. package/controller/lib/utils.js +14 -34
  66. package/controller/lib/utils.js.map +1 -1
  67. package/controller/package.json +2 -2
  68. package/lib/hotspot/circle.js +110 -169
  69. package/lib/hotspot/circle.js.map +1 -1
  70. package/lib/hotspot/container.js +174 -260
  71. package/lib/hotspot/container.js.map +1 -1
  72. package/lib/hotspot/icons.js.map +1 -1
  73. package/lib/hotspot/image-konva-tooltip.js +65 -112
  74. package/lib/hotspot/image-konva-tooltip.js.map +1 -1
  75. package/lib/hotspot/index.js +135 -198
  76. package/lib/hotspot/index.js.map +1 -1
  77. package/lib/hotspot/polygon.js +150 -214
  78. package/lib/hotspot/polygon.js.map +1 -1
  79. package/lib/hotspot/rectangle.js +128 -185
  80. package/lib/hotspot/rectangle.js.map +1 -1
  81. package/lib/index.js +187 -256
  82. package/lib/index.js.map +1 -1
  83. package/lib/session-updater.js +12 -18
  84. package/lib/session-updater.js.map +1 -1
  85. package/package.json +14 -11
  86. package/src/__tests__/container.test.jsx +27 -175
  87. package/src/__tests__/index.test.js +70 -30
  88. package/src/hotspot/circle.jsx +2 -13
  89. package/src/hotspot/container.jsx +35 -50
  90. package/src/hotspot/index.jsx +16 -28
  91. package/src/hotspot/polygon.jsx +4 -13
  92. package/src/hotspot/rectangle.jsx +5 -15
  93. package/src/index.js +21 -12
  94. package/configure/src/__tests__/DeleteWidget.test.js +0 -64
  95. package/configure/src/__tests__/__snapshots__/hotspot-container.test.js.snap +0 -192
  96. package/configure/src/__tests__/__snapshots__/hotspot-drawable.test.js.snap +0 -562
  97. package/configure/src/__tests__/__snapshots__/root.test.js.snap +0 -469
  98. package/src/__tests__/__snapshots__/container.test.jsx.snap +0 -264
  99. package/src/__tests__/__snapshots__/index.test.js.snap +0 -81
  100. package/src/__tests__/__snapshots__/polygon.test.jsx.snap +0 -192
  101. package/src/__tests__/__snapshots__/rectangle.test.jsx.snap +0 -127
  102. package/src/__tests__/polygon.test.jsx +0 -230
  103. package/src/__tests__/rectangle.test.jsx +0 -232
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/hotspot-polygon.jsx"],"names":["HOVERED_COLOR","PolComponent","points","xList","map","p","x","yList","y","Math","min","max","getOffset","xOffset","yOffset","reduce","acc","point","length","id","hovered","isDragging","getInitialState","props","e","width","height","isDrawing","onClick","addPolygonPoint","cancelBubble","setState","document","body","style","cursor","updateModel","onDragEnd","target","serialize","state","newPoints","currentPointCoordinate","index","changedIndex","onDeleteShape","xValues","yValues","minX","maxX","minY","maxY","classes","correct","hotspotColor","outlineColor","selectedHotspotColor","hoverOutlineColor","strokeWidth","isInProgress","showPoints","calculatedStrokeWidth","calculatedStroke","boundingBox","getBoundingBox","calculatedFill","group","handleMouseLeave","handleMouseEnter","base","handleClick","onDragStart","handleOnDragEnd","circle","handleOnDragVertex","handleDelete","nextProps","prevState","imageHeight","imageWidth","JSON","stringify","React","Component","styles","opacity","padding","propTypes","PropTypes","object","isRequired","bool","string","number","func","arrayOf","shape","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Group, Line, Circle } from 'react-konva';\nimport { withStyles } from '@material-ui/core/styles/index';\nimport { Rect } from 'react-konva/lib/ReactKonvaCore';\nimport DeleteWidget from './DeleteWidget';\n\nconst HOVERED_COLOR = '#00BFFF';\n\nclass PolComponent extends React.Component {\n static getDerivedStateFromProps(nextProps, prevState) {\n const { id, points, imageHeight, imageWidth } = nextProps;\n // we execute this code only if image dimensions changed or an hotspot was added/deleted\n if (\n prevState.imageHeight !== imageHeight ||\n prevState.imageWidth !== imageWidth ||\n prevState.id !== nextProps.id ||\n JSON.stringify(prevState.points) !== JSON.stringify(points)\n ) {\n const xList = points.map((p) => p.x);\n const yList = points.map((p) => p.y);\n\n const x = Math.min(...xList);\n const y = Math.max(...yList);\n\n return {\n id,\n x,\n y,\n points,\n imageHeight,\n imageWidth,\n };\n }\n\n return null;\n }\n\n getOffset = (points) => {\n const xList = points.map((p) => p.x);\n const yList = points.map((p) => p.y);\n\n return {\n x: Math.min(...xList),\n y: Math.max(...yList),\n };\n };\n\n serialize = (points) => {\n const { x: xOffset, y: yOffset } = this.getOffset(points);\n\n return points.reduce((acc, point) => [...acc, point.x - xOffset, point.y - yOffset], []);\n };\n\n getInitialState = (points) => {\n if (points.length) {\n const { x, y } = this.getOffset(points);\n\n return {\n x,\n y,\n points,\n };\n }\n\n return {\n id: '',\n x: 0,\n y: 0,\n points: [],\n };\n };\n\n state = {\n hovered: false,\n isDragging: false,\n ...this.getInitialState(this.props.points),\n };\n\n handleClick = (e) => {\n const { points } = this.props;\n const xList = points.map((p) => p.x);\n const yList = points.map((p) => p.y);\n\n const width = Math.max(...xList) - Math.min(...xList);\n const height = Math.max(...yList) - Math.min(...yList);\n\n const { isDrawing, onClick, id } = this.props;\n\n if (width < 0 && height < 0 && isDrawing) {\n return;\n }\n\n if (isDrawing && id === 'newPolygon') {\n this.props.addPolygonPoint(e);\n return;\n }\n\n e.cancelBubble = true;\n onClick(id);\n };\n\n handleMouseEnter = () => {\n this.setState({ hovered: true });\n document.body.style.cursor = 'pointer';\n };\n\n handleMouseLeave = () => {\n this.setState({ hovered: false });\n document.body.style.cursor = 'default';\n };\n\n handleOnDragEnd = (e, updateModel = false) => {\n const { onDragEnd, id } = this.props;\n const points = e.target.points() || this.serialize(this.state.points);\n\n const newPoints = points.reduce((acc, currentPointCoordinate, index) => {\n if (index % 2 === 0 && index + 1 < points.length) {\n return [\n ...acc,\n {\n x: currentPointCoordinate + e.target.x(),\n y: points[index + 1] + e.target.y(),\n },\n ];\n }\n\n return acc;\n }, []);\n\n this.setState({\n points: newPoints,\n ...this.getOffset(newPoints),\n isDragging: updateModel ? false : this.state.isDragging,\n });\n\n if (updateModel) {\n onDragEnd(id, { points: newPoints });\n }\n };\n\n handleOnDragVertex = (e, changedIndex, updateModel) => {\n const { onDragEnd, id } = this.props;\n const { points } = this.state;\n\n const newPoints = points.map((point, index) =>\n index === changedIndex ? { x: e.target.x(), y: e.target.y() } : point,\n );\n\n this.setState({\n points: newPoints,\n ...this.getOffset(newPoints),\n isDragging: updateModel ? false : this.state.isDragging,\n });\n\n if (updateModel) {\n onDragEnd(id, { points: newPoints });\n }\n };\n\n onDragStart = () => {\n this.setState({ isDragging: true });\n };\n\n handleDelete = (id) => {\n const { onDeleteShape } = this.props;\n onDeleteShape(id);\n };\n\n // serialize(points) {\n // return points.reduce((acc, point) => [...acc, point.x, point.y], []);\n // }\n\n getBoundingBox(points) {\n const xValues = points.map((point) => point.x);\n const yValues = points.map((point) => point.y);\n const minX = Math.min(...xValues);\n const maxX = Math.max(...xValues);\n const minY = Math.min(...yValues);\n const maxY = Math.max(...yValues);\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n\n render() {\n const {\n classes,\n correct,\n id,\n hotspotColor,\n outlineColor,\n selectedHotspotColor,\n hoverOutlineColor,\n strokeWidth = 5,\n } = this.props;\n\n const { points, x, y, hovered } = this.state;\n const isInProgress = id === 'newPolygon';\n const showPoints = hovered || id === 'newPolygon';\n\n const calculatedStrokeWidth = correct ? strokeWidth : hovered ? 1 : 0;\n const calculatedStroke = correct ? outlineColor : hovered ? HOVERED_COLOR : '';\n const boundingBox = this.getBoundingBox(points);\n const calculatedFill = correct && selectedHotspotColor ? selectedHotspotColor : hotspotColor;\n\n return (\n <Group classes={classes.group} onMouseLeave={this.handleMouseLeave} onMouseEnter={this.handleMouseEnter}>\n {hoverOutlineColor && hovered && (\n <Rect\n x={boundingBox.x}\n y={boundingBox.y}\n width={boundingBox.width}\n height={boundingBox.height}\n stroke={hoverOutlineColor}\n strokeWidth={2}\n listening={false}\n />\n )}\n <Line\n classes={classes.base}\n points={this.serialize(points)}\n closed={!isInProgress}\n fill={isInProgress ? 'transparent' : calculatedFill}\n onClick={this.handleClick}\n onTap={this.handleClick}\n draggable\n stroke={isInProgress ? outlineColor : calculatedStroke}\n strokeWidth={isInProgress ? 1 : calculatedStrokeWidth}\n onDragStart={this.onDragStart}\n onDragMove={this.handleOnDragEnd}\n onDragEnd={(e) => this.handleOnDragEnd(e, true)}\n x={x}\n y={y}\n />\n\n {showPoints &&\n points.map((point, index) => (\n <Circle\n key={index}\n className={classes.circle}\n x={point.x}\n y={point.y}\n radius={5}\n fill={index === 0 && id === 'newPolygon' ? 'blue' : 'white'}\n stroke={HOVERED_COLOR}\n strokeWidth={1}\n onClick={this.handleClick}\n onDragStart={this.onDragStart}\n onDragMove={(e) => {\n this.handleOnDragVertex(e, index);\n }}\n onDragEnd={(e) => {\n this.handleOnDragVertex(e, index, true);\n }}\n draggable\n />\n ))}\n {!this.state.isDragging && this.state.hovered && (\n <DeleteWidget x={x} y={y} id={id} handleWidgetClick={this.handleDelete} points={points} />\n )}\n </Group>\n );\n }\n}\n\nconst styles = () => ({\n base: {\n cursor: 'pointer',\n opacity: 0.5,\n },\n circle: {\n opacity: 4,\n },\n group: {\n padding: '12px',\n },\n});\n\nPolComponent.propTypes = {\n classes: PropTypes.object.isRequired,\n correct: PropTypes.bool,\n isDrawing: PropTypes.bool.isRequired,\n id: PropTypes.string.isRequired,\n imageHeight: PropTypes.number,\n imageWidth: PropTypes.number,\n hotspotColor: PropTypes.string.isRequired,\n selectedHotspotColor: PropTypes.string,\n hoverOutlineColor: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n addPolygonPoint: PropTypes.func.isRequired,\n onDeleteShape: PropTypes.func.isRequired,\n onDragEnd: PropTypes.func.isRequired,\n outlineColor: PropTypes.string.isRequired,\n points: PropTypes.arrayOf(\n PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }),\n ).isRequired,\n strokeWidth: PropTypes.number,\n};\n\nPolComponent.defaultProps = {\n correct: false,\n};\n\nexport default withStyles(styles)(PolComponent);\n"],"file":"hotspot-polygon.js"}
1
+ {"version":3,"file":"hotspot-polygon.js","names":["_react","_interopRequireDefault","require","_propTypes","_reactKonva","_ReactKonvaCore","_DeleteWidget","HOVERED_COLOR","PolComponent","React","Component","constructor","args","_defineProperty2","default","points","xList","map","p","x","yList","y","Math","min","max","xOffset","yOffset","getOffset","reduce","acc","point","length","id","hovered","isDragging","getInitialState","props","e","width","height","isDrawing","onClick","addPolygonPoint","cancelBubble","setState","document","body","style","cursor","updateModel","onDragEnd","target","serialize","state","newPoints","currentPointCoordinate","index","changedIndex","onDeleteShape","getDerivedStateFromProps","nextProps","prevState","imageHeight","imageWidth","JSON","stringify","getBoundingBox","xValues","yValues","minX","maxX","minY","maxY","render","correct","hotspotColor","outlineColor","selectedHotspotColor","hoverOutlineColor","strokeWidth","isInProgress","showPoints","calculatedStrokeWidth","calculatedStroke","boundingBox","calculatedFill","createElement","Group","onMouseLeave","handleMouseLeave","onMouseEnter","handleMouseEnter","Rect","stroke","listening","Line","closed","fill","handleClick","onTap","draggable","onDragStart","onDragMove","handleOnDragEnd","opacity","Circle","key","radius","handleOnDragVertex","handleWidgetClick","handleDelete","propTypes","PropTypes","bool","isRequired","string","number","func","arrayOf","shape","defaultProps","_default","exports"],"sources":["../src/hotspot-polygon.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Group, Line, Circle } from 'react-konva';\nimport { Rect } from 'react-konva/lib/ReactKonvaCore';\nimport DeleteWidget from './DeleteWidget';\n\nconst HOVERED_COLOR = '#00BFFF';\n\nclass PolComponent extends React.Component {\n static getDerivedStateFromProps(nextProps, prevState) {\n const { id, points, imageHeight, imageWidth } = nextProps;\n // we execute this code only if image dimensions changed or an hotspot was added/deleted\n if (\n prevState.imageHeight !== imageHeight ||\n prevState.imageWidth !== imageWidth ||\n prevState.id !== nextProps.id ||\n JSON.stringify(prevState.points) !== JSON.stringify(points)\n ) {\n const xList = points.map((p) => p.x);\n const yList = points.map((p) => p.y);\n\n const x = Math.min(...xList);\n const y = Math.max(...yList);\n\n return {\n id,\n x,\n y,\n points,\n imageHeight,\n imageWidth,\n };\n }\n\n return null;\n }\n\n getOffset = (points) => {\n const xList = points.map((p) => p.x);\n const yList = points.map((p) => p.y);\n\n return {\n x: Math.min(...xList),\n y: Math.max(...yList),\n };\n };\n\n serialize = (points) => {\n const { x: xOffset, y: yOffset } = this.getOffset(points);\n\n return points.reduce((acc, point) => [...acc, point.x - xOffset, point.y - yOffset], []);\n };\n\n getInitialState = (points) => {\n if (points.length) {\n const { x, y } = this.getOffset(points);\n\n return {\n x,\n y,\n points,\n };\n }\n\n return {\n id: '',\n x: 0,\n y: 0,\n points: [],\n };\n };\n\n state = {\n hovered: false,\n isDragging: false,\n ...this.getInitialState(this.props.points),\n };\n\n handleClick = (e) => {\n const { points } = this.props;\n const xList = points.map((p) => p.x);\n const yList = points.map((p) => p.y);\n\n const width = Math.max(...xList) - Math.min(...xList);\n const height = Math.max(...yList) - Math.min(...yList);\n\n const { isDrawing, onClick, id } = this.props;\n\n if (width < 0 && height < 0 && isDrawing) {\n return;\n }\n\n if (isDrawing && id === 'newPolygon') {\n this.props.addPolygonPoint(e);\n return;\n }\n\n e.cancelBubble = true;\n onClick(id);\n };\n\n handleMouseEnter = () => {\n this.setState({ hovered: true });\n document.body.style.cursor = 'pointer';\n };\n\n handleMouseLeave = () => {\n this.setState({ hovered: false });\n document.body.style.cursor = 'default';\n };\n\n handleOnDragEnd = (e, updateModel = false) => {\n const { onDragEnd, id } = this.props;\n const points = e.target.points() || this.serialize(this.state.points);\n\n const newPoints = points.reduce((acc, currentPointCoordinate, index) => {\n if (index % 2 === 0 && index + 1 < points.length) {\n return [\n ...acc,\n {\n x: currentPointCoordinate + e.target.x(),\n y: points[index + 1] + e.target.y(),\n },\n ];\n }\n\n return acc;\n }, []);\n\n this.setState({\n points: newPoints,\n ...this.getOffset(newPoints),\n isDragging: updateModel ? false : this.state.isDragging,\n });\n\n if (updateModel) {\n onDragEnd(id, { points: newPoints });\n }\n };\n\n handleOnDragVertex = (e, changedIndex, updateModel) => {\n const { onDragEnd, id } = this.props;\n const { points } = this.state;\n\n const newPoints = points.map((point, index) =>\n index === changedIndex ? { x: e.target.x(), y: e.target.y() } : point,\n );\n\n this.setState({\n points: newPoints,\n ...this.getOffset(newPoints),\n isDragging: updateModel ? false : this.state.isDragging,\n });\n\n if (updateModel) {\n onDragEnd(id, { points: newPoints });\n }\n };\n\n onDragStart = () => {\n this.setState({ isDragging: true });\n };\n\n handleDelete = (id) => {\n const { onDeleteShape } = this.props;\n onDeleteShape(id);\n };\n\n // serialize(points) {\n // return points.reduce((acc, point) => [...acc, point.x, point.y], []);\n // }\n\n getBoundingBox(points) {\n const xValues = points.map((point) => point.x);\n const yValues = points.map((point) => point.y);\n const minX = Math.min(...xValues);\n const maxX = Math.max(...xValues);\n const minY = Math.min(...yValues);\n const maxY = Math.max(...yValues);\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n\n render() {\n const {\n correct,\n id,\n hotspotColor,\n outlineColor,\n selectedHotspotColor,\n hoverOutlineColor,\n strokeWidth = 5,\n } = this.props;\n\n const { points, x, y, hovered } = this.state;\n const isInProgress = id === 'newPolygon';\n const showPoints = hovered || id === 'newPolygon';\n\n const calculatedStrokeWidth = correct ? strokeWidth : hovered ? 1 : 0;\n const calculatedStroke = correct ? outlineColor : hovered ? HOVERED_COLOR : '';\n const boundingBox = this.getBoundingBox(points);\n const calculatedFill = correct && selectedHotspotColor ? selectedHotspotColor : hotspotColor;\n\n return (\n <Group onMouseLeave={this.handleMouseLeave} onMouseEnter={this.handleMouseEnter}>\n {hoverOutlineColor && hovered && (\n <Rect\n x={boundingBox.x}\n y={boundingBox.y}\n width={boundingBox.width}\n height={boundingBox.height}\n stroke={hoverOutlineColor}\n strokeWidth={2}\n listening={false}\n />\n )}\n <Line\n points={this.serialize(points)}\n closed={!isInProgress}\n fill={isInProgress ? 'transparent' : calculatedFill}\n onClick={this.handleClick}\n onTap={this.handleClick}\n draggable\n stroke={isInProgress ? outlineColor : calculatedStroke}\n strokeWidth={isInProgress ? 1 : calculatedStrokeWidth}\n onDragStart={this.onDragStart}\n onDragMove={this.handleOnDragEnd}\n onDragEnd={(e) => this.handleOnDragEnd(e, true)}\n x={x}\n y={y}\n opacity={0.5}\n />\n\n {showPoints &&\n points.map((point, index) => (\n <Circle\n key={index}\n x={point.x}\n y={point.y}\n radius={5}\n fill={index === 0 && id === 'newPolygon' ? 'blue' : 'white'}\n stroke={HOVERED_COLOR}\n strokeWidth={1}\n onClick={this.handleClick}\n onDragStart={this.onDragStart}\n onDragMove={(e) => {\n this.handleOnDragVertex(e, index);\n }}\n onDragEnd={(e) => {\n this.handleOnDragVertex(e, index, true);\n }}\n draggable\n opacity={4}\n />\n ))}\n {!this.state.isDragging && this.state.hovered && (\n <DeleteWidget x={x} y={y} id={id} handleWidgetClick={this.handleDelete} points={points} />\n )}\n </Group>\n );\n }\n}\n\nPolComponent.propTypes = {\n correct: PropTypes.bool,\n isDrawing: PropTypes.bool.isRequired,\n id: PropTypes.string.isRequired,\n imageHeight: PropTypes.number,\n imageWidth: PropTypes.number,\n hotspotColor: PropTypes.string.isRequired,\n selectedHotspotColor: PropTypes.string,\n hoverOutlineColor: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n addPolygonPoint: PropTypes.func.isRequired,\n onDeleteShape: PropTypes.func.isRequired,\n onDragEnd: PropTypes.func.isRequired,\n outlineColor: PropTypes.string.isRequired,\n points: PropTypes.arrayOf(\n PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }),\n ).isRequired,\n strokeWidth: PropTypes.number,\n};\n\nPolComponent.defaultProps = {\n correct: false,\n};\n\nexport default PolComponent;\n"],"mappings":"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","ignoreList":[]}
@@ -1,116 +1,78 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports["default"] = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
7
+ exports.default = void 0;
22
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
9
  var _react = _interopRequireDefault(require("react"));
25
-
26
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
11
  var _reactKonva = require("react-konva");
29
-
30
- var _index = require("@material-ui/core/styles/index");
31
-
32
12
  var _DeleteWidget = _interopRequireDefault(require("./DeleteWidget"));
33
-
34
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
35
-
36
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
37
-
38
- var RectComponent = /*#__PURE__*/function (_React$Component) {
39
- (0, _inherits2["default"])(RectComponent, _React$Component);
40
-
41
- var _super = _createSuper(RectComponent);
42
-
43
- function RectComponent(props) {
44
- var _this;
45
-
46
- (0, _classCallCheck2["default"])(this, RectComponent);
47
- _this = _super.call(this, props);
48
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClick", function (e) {
49
- var _this$props = _this.props,
50
- width = _this$props.width,
51
- height = _this$props.height,
52
- isDrawing = _this$props.isDrawing,
53
- onClick = _this$props.onClick,
54
- id = _this$props.id;
55
-
13
+ class RectComponent extends _react.default.Component {
14
+ constructor(props) {
15
+ super(props);
16
+ (0, _defineProperty2.default)(this, "handleClick", e => {
17
+ const {
18
+ width,
19
+ height,
20
+ isDrawing,
21
+ onClick,
22
+ id
23
+ } = this.props;
56
24
  if (width < 0 && height < 0 && isDrawing) {
57
25
  return;
58
26
  }
59
-
60
27
  e.cancelBubble = true;
61
28
  onClick(id);
62
29
  });
63
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleMouseEnter", function () {
30
+ (0, _defineProperty2.default)(this, "handleMouseEnter", () => {
64
31
  document.body.style.cursor = 'pointer';
65
-
66
- _this.setState({
32
+ this.setState({
67
33
  hovered: true
68
34
  });
69
-
70
- _this.trRef.current.setNode(_this.shapeRef.current);
71
-
72
- _this.trRef.current.getLayer().batchDraw();
35
+ this.trRef.current.setNode(this.shapeRef.current);
36
+ this.trRef.current.getLayer().batchDraw();
73
37
  });
74
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleMouseLeave", function () {
75
- _this.setState({
38
+ (0, _defineProperty2.default)(this, "handleMouseLeave", () => {
39
+ this.setState({
76
40
  hovered: false
77
41
  });
78
-
79
42
  document.body.style.cursor = 'default';
80
43
  });
81
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleOnDragEnd", function (e) {
82
- var _this$props2 = _this.props,
83
- onDragEnd = _this$props2.onDragEnd,
84
- id = _this$props2.id;
85
-
86
- _this.setState({
44
+ (0, _defineProperty2.default)(this, "handleOnDragEnd", e => {
45
+ const {
46
+ onDragEnd,
47
+ id
48
+ } = this.props;
49
+ this.setState({
87
50
  isDragging: false
88
51
  });
89
-
90
52
  onDragEnd(id, {
91
53
  x: e.target.x(),
92
54
  y: e.target.y()
93
55
  });
94
56
  });
95
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onResizeEnd", function () {
96
- var _this$props3 = _this.props,
97
- onDragEnd = _this$props3.onDragEnd,
98
- id = _this$props3.id; // transformer is changing scale of the node
57
+ (0, _defineProperty2.default)(this, "onResizeEnd", () => {
58
+ const {
59
+ onDragEnd,
60
+ id
61
+ } = this.props;
62
+ // transformer is changing scale of the node
99
63
  // and NOT its width or height
100
64
  // but in the store we have only width and height
101
65
  // to match the data better we will reset scale on transform end
66
+ const node = this.shapeRef.current;
67
+ const scaleX = node.scaleX();
68
+ const scaleY = node.scaleY();
102
69
 
103
- var node = _this.shapeRef.current;
104
- var scaleX = node.scaleX();
105
- var scaleY = node.scaleY(); // we will reset it back
106
-
70
+ // we will reset it back
107
71
  node.scaleX(1);
108
72
  node.scaleY(1);
109
-
110
- _this.setState({
73
+ this.setState({
111
74
  isDragging: false
112
75
  });
113
-
114
76
  onDragEnd(id, {
115
77
  x: node.x(),
116
78
  y: node.y(),
@@ -119,135 +81,109 @@ var RectComponent = /*#__PURE__*/function (_React$Component) {
119
81
  height: Math.max(node.height() * scaleY)
120
82
  });
121
83
  });
122
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleDelete", function (id) {
123
- var onDeleteShape = _this.props.onDeleteShape;
84
+ (0, _defineProperty2.default)(this, "handleDelete", id => {
85
+ const {
86
+ onDeleteShape
87
+ } = this.props;
124
88
  onDeleteShape(id);
125
89
  });
126
- _this.state = {
90
+ this.state = {
127
91
  hovered: false,
128
92
  isDragging: false
129
93
  };
130
- _this.shapeRef = /*#__PURE__*/_react["default"].createRef();
131
- _this.trRef = /*#__PURE__*/_react["default"].createRef();
132
- return _this;
94
+ this.shapeRef = /*#__PURE__*/_react.default.createRef();
95
+ this.trRef = /*#__PURE__*/_react.default.createRef();
133
96
  }
134
-
135
- (0, _createClass2["default"])(RectComponent, [{
136
- key: "render",
137
- value: function render() {
138
- var _this2 = this;
139
-
140
- var _this$props4 = this.props,
141
- classes = _this$props4.classes,
142
- correct = _this$props4.correct,
143
- height = _this$props4.height,
144
- hotspotColor = _this$props4.hotspotColor,
145
- id = _this$props4.id,
146
- outlineColor = _this$props4.outlineColor,
147
- width = _this$props4.width,
148
- x = _this$props4.x,
149
- y = _this$props4.y,
150
- _this$props4$strokeWi = _this$props4.strokeWidth,
151
- strokeWidth = _this$props4$strokeWi === void 0 ? 5 : _this$props4$strokeWi,
152
- selectedHotspotColor = _this$props4.selectedHotspotColor,
153
- hoverOutlineColor = _this$props4.hoverOutlineColor;
154
- var hovered = this.state.hovered;
155
- return /*#__PURE__*/_react["default"].createElement(_reactKonva.Group, {
156
- classes: classes.group,
157
- onMouseLeave: this.handleMouseLeave,
158
- onMouseEnter: this.handleMouseEnter
159
- }, hoverOutlineColor && hovered && /*#__PURE__*/_react["default"].createElement(_reactKonva.Rect, {
160
- x: x,
161
- y: y,
162
- width: width,
163
- height: height,
164
- stroke: hoverOutlineColor,
165
- strokeWidth: 2,
166
- listening: false
167
- }), /*#__PURE__*/_react["default"].createElement(_reactKonva.Rect, {
168
- classes: classes.base,
169
- ref: this.shapeRef,
170
- width: width,
171
- height: height,
172
- fill: correct && selectedHotspotColor ? selectedHotspotColor : hotspotColor,
173
- onClick: this.handleClick,
174
- onTap: this.handleClick,
175
- draggable: true,
176
- stroke: hovered ? 'transparent' : outlineColor,
177
- strokeWidth: correct && !hovered ? strokeWidth : 0,
178
- onDragStart: function onDragStart() {
179
- return _this2.setState({
180
- isDragging: true
181
- });
182
- },
183
- onDragEnd: this.handleOnDragEnd,
184
- onTransformStart: function onTransformStart() {
185
- return _this2.setState({
186
- isDragging: true
187
- });
188
- },
189
- onTransformEnd: this.onResizeEnd,
190
- x: x,
191
- y: y
192
- }), !this.state.isDragging && this.state.hovered && /*#__PURE__*/_react["default"].createElement(_DeleteWidget["default"], {
193
- id: id,
194
- height: height,
195
- width: width,
196
- x: x,
197
- y: y,
198
- handleWidgetClick: this.handleDelete
199
- }), this.state.hovered && /*#__PURE__*/_react["default"].createElement(_reactKonva.Transformer, {
200
- ref: this.trRef,
201
- rotateEnabled: false,
202
- boundBoxFunc: function boundBoxFunc(oldBox, newBox) {
203
- // limit resize
204
- if (newBox.width < 10 || newBox.height < 10) {
205
- return oldBox;
206
- }
207
-
208
- return newBox;
97
+ render() {
98
+ const {
99
+ correct,
100
+ height,
101
+ hotspotColor,
102
+ id,
103
+ outlineColor,
104
+ width,
105
+ x,
106
+ y,
107
+ strokeWidth = 5,
108
+ selectedHotspotColor,
109
+ hoverOutlineColor
110
+ } = this.props;
111
+ const {
112
+ hovered
113
+ } = this.state;
114
+ return /*#__PURE__*/_react.default.createElement(_reactKonva.Group, {
115
+ onMouseLeave: this.handleMouseLeave,
116
+ onMouseEnter: this.handleMouseEnter,
117
+ padding: 12
118
+ }, hoverOutlineColor && hovered && /*#__PURE__*/_react.default.createElement(_reactKonva.Rect, {
119
+ x: x,
120
+ y: y,
121
+ width: width,
122
+ height: height,
123
+ stroke: hoverOutlineColor,
124
+ strokeWidth: 2,
125
+ listening: false
126
+ }), /*#__PURE__*/_react.default.createElement(_reactKonva.Rect, {
127
+ ref: this.shapeRef,
128
+ width: width,
129
+ height: height,
130
+ fill: correct && selectedHotspotColor ? selectedHotspotColor : hotspotColor,
131
+ onClick: this.handleClick,
132
+ onTap: this.handleClick,
133
+ draggable: true,
134
+ stroke: hovered ? 'transparent' : outlineColor,
135
+ strokeWidth: correct && !hovered ? strokeWidth : 0,
136
+ onDragStart: () => this.setState({
137
+ isDragging: true
138
+ }),
139
+ onDragEnd: this.handleOnDragEnd,
140
+ onTransformStart: () => this.setState({
141
+ isDragging: true
142
+ }),
143
+ onTransformEnd: this.onResizeEnd,
144
+ x: x,
145
+ y: y,
146
+ opacity: 0.5,
147
+ cursor: "pointer"
148
+ }), !this.state.isDragging && this.state.hovered && /*#__PURE__*/_react.default.createElement(_DeleteWidget.default, {
149
+ id: id,
150
+ height: height,
151
+ width: width,
152
+ x: x,
153
+ y: y,
154
+ handleWidgetClick: this.handleDelete
155
+ }), this.state.hovered && /*#__PURE__*/_react.default.createElement(_reactKonva.Transformer, {
156
+ ref: this.trRef,
157
+ rotateEnabled: false,
158
+ boundBoxFunc: (oldBox, newBox) => {
159
+ // limit resize
160
+ if (newBox.width < 10 || newBox.height < 10) {
161
+ return oldBox;
209
162
  }
210
- }));
211
- }
212
- }]);
213
- return RectComponent;
214
- }(_react["default"].Component);
215
-
216
- var styles = function styles() {
217
- return {
218
- base: {
219
- cursor: 'pointer',
220
- opacity: 0.5
221
- },
222
- group: {
223
- padding: '12px'
224
- }
225
- };
226
- };
227
-
163
+ return newBox;
164
+ }
165
+ }));
166
+ }
167
+ }
228
168
  RectComponent.propTypes = {
229
- classes: _propTypes["default"].object.isRequired,
230
- correct: _propTypes["default"].bool,
231
- isDrawing: _propTypes["default"].bool.isRequired,
232
- id: _propTypes["default"].string.isRequired,
233
- height: _propTypes["default"].number.isRequired,
234
- hotspotColor: _propTypes["default"].string.isRequired,
235
- selectedHotspotColor: _propTypes["default"].string,
236
- hoverOutlineColor: _propTypes["default"].string,
237
- onClick: _propTypes["default"].func.isRequired,
238
- onDeleteShape: _propTypes["default"].func.isRequired,
239
- onDragEnd: _propTypes["default"].func.isRequired,
240
- outlineColor: _propTypes["default"].string.isRequired,
241
- width: _propTypes["default"].number.isRequired,
242
- x: _propTypes["default"].number.isRequired,
243
- y: _propTypes["default"].number.isRequired,
244
- strokeWidth: _propTypes["default"].number
169
+ correct: _propTypes.default.bool,
170
+ isDrawing: _propTypes.default.bool.isRequired,
171
+ id: _propTypes.default.string.isRequired,
172
+ height: _propTypes.default.number.isRequired,
173
+ hotspotColor: _propTypes.default.string.isRequired,
174
+ selectedHotspotColor: _propTypes.default.string,
175
+ hoverOutlineColor: _propTypes.default.string,
176
+ onClick: _propTypes.default.func.isRequired,
177
+ onDeleteShape: _propTypes.default.func.isRequired,
178
+ onDragEnd: _propTypes.default.func.isRequired,
179
+ outlineColor: _propTypes.default.string.isRequired,
180
+ width: _propTypes.default.number.isRequired,
181
+ x: _propTypes.default.number.isRequired,
182
+ y: _propTypes.default.number.isRequired,
183
+ strokeWidth: _propTypes.default.number
245
184
  };
246
185
  RectComponent.defaultProps = {
247
186
  correct: false
248
187
  };
249
-
250
- var _default = (0, _index.withStyles)(styles)(RectComponent);
251
-
252
- exports["default"] = _default;
188
+ var _default = exports.default = RectComponent;
253
189
  //# sourceMappingURL=hotspot-rectangle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/hotspot-rectangle.jsx"],"names":["RectComponent","props","e","width","height","isDrawing","onClick","id","cancelBubble","document","body","style","cursor","setState","hovered","trRef","current","setNode","shapeRef","getLayer","batchDraw","onDragEnd","isDragging","x","target","y","node","scaleX","scaleY","Math","max","onDeleteShape","state","React","createRef","classes","correct","hotspotColor","outlineColor","strokeWidth","selectedHotspotColor","hoverOutlineColor","group","handleMouseLeave","handleMouseEnter","base","handleClick","handleOnDragEnd","onResizeEnd","handleDelete","oldBox","newBox","Component","styles","opacity","padding","propTypes","PropTypes","object","isRequired","bool","string","number","func","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Rect, Group, Transformer } from 'react-konva';\nimport { withStyles } from '@material-ui/core/styles/index';\nimport DeleteWidget from './DeleteWidget';\n\nclass RectComponent extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n hovered: false,\n isDragging: false,\n };\n this.shapeRef = React.createRef();\n this.trRef = React.createRef();\n }\n\n handleClick = (e) => {\n const { width, height, isDrawing, onClick, id } = this.props;\n if (width < 0 && height < 0 && isDrawing) {\n return;\n }\n e.cancelBubble = true;\n onClick(id);\n };\n\n handleMouseEnter = () => {\n document.body.style.cursor = 'pointer';\n this.setState({ hovered: true });\n this.trRef.current.setNode(this.shapeRef.current);\n this.trRef.current.getLayer().batchDraw();\n };\n\n handleMouseLeave = () => {\n this.setState({ hovered: false });\n document.body.style.cursor = 'default';\n };\n\n handleOnDragEnd = (e) => {\n const { onDragEnd, id } = this.props;\n this.setState({ isDragging: false });\n onDragEnd(id, {\n x: e.target.x(),\n y: e.target.y(),\n });\n };\n\n onResizeEnd = () => {\n const { onDragEnd, id } = this.props;\n // transformer is changing scale of the node\n // and NOT its width or height\n // but in the store we have only width and height\n // to match the data better we will reset scale on transform end\n const node = this.shapeRef.current;\n const scaleX = node.scaleX();\n const scaleY = node.scaleY();\n\n // we will reset it back\n node.scaleX(1);\n node.scaleY(1);\n this.setState({ isDragging: false });\n onDragEnd(id, {\n x: node.x(),\n y: node.y(),\n // set minimal value\n width: Math.max(5, node.width() * scaleX),\n height: Math.max(node.height() * scaleY),\n });\n };\n\n handleDelete = (id) => {\n const { onDeleteShape } = this.props;\n onDeleteShape(id);\n };\n\n render() {\n const {\n classes,\n correct,\n height,\n hotspotColor,\n id,\n outlineColor,\n width,\n x,\n y,\n strokeWidth = 5,\n selectedHotspotColor,\n hoverOutlineColor,\n } = this.props;\n\n const { hovered } = this.state;\n\n return (\n <Group classes={classes.group} onMouseLeave={this.handleMouseLeave} onMouseEnter={this.handleMouseEnter}>\n {hoverOutlineColor && hovered && (\n <Rect\n x={x}\n y={y}\n width={width}\n height={height}\n stroke={hoverOutlineColor}\n strokeWidth={2}\n listening={false}\n />\n )}\n\n <Rect\n classes={classes.base}\n ref={this.shapeRef}\n width={width}\n height={height}\n fill={correct && selectedHotspotColor ? selectedHotspotColor : hotspotColor}\n onClick={this.handleClick}\n onTap={this.handleClick}\n draggable\n stroke={hovered ? 'transparent' : outlineColor}\n strokeWidth={correct && !hovered ? strokeWidth : 0}\n onDragStart={() => this.setState({ isDragging: true })}\n onDragEnd={this.handleOnDragEnd}\n onTransformStart={() => this.setState({ isDragging: true })}\n onTransformEnd={this.onResizeEnd}\n x={x}\n y={y}\n />\n {!this.state.isDragging && this.state.hovered && (\n <DeleteWidget id={id} height={height} width={width} x={x} y={y} handleWidgetClick={this.handleDelete} />\n )}\n {this.state.hovered && (\n <Transformer\n ref={this.trRef}\n rotateEnabled={false}\n boundBoxFunc={(oldBox, newBox) => {\n // limit resize\n if (newBox.width < 10 || newBox.height < 10) {\n return oldBox;\n }\n return newBox;\n }}\n />\n )}\n </Group>\n );\n }\n}\n\nconst styles = () => ({\n base: {\n cursor: 'pointer',\n opacity: 0.5,\n },\n\n group: {\n padding: '12px',\n },\n});\n\nRectComponent.propTypes = {\n classes: PropTypes.object.isRequired,\n correct: PropTypes.bool,\n isDrawing: PropTypes.bool.isRequired,\n id: PropTypes.string.isRequired,\n height: PropTypes.number.isRequired,\n hotspotColor: PropTypes.string.isRequired,\n selectedHotspotColor: PropTypes.string,\n hoverOutlineColor: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n onDeleteShape: PropTypes.func.isRequired,\n onDragEnd: PropTypes.func.isRequired,\n outlineColor: PropTypes.string.isRequired,\n width: PropTypes.number.isRequired,\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n strokeWidth: PropTypes.number,\n};\n\nRectComponent.defaultProps = {\n correct: false,\n};\n\nexport default withStyles(styles)(RectComponent);\n"],"file":"hotspot-rectangle.js"}
1
+ {"version":3,"file":"hotspot-rectangle.js","names":["_react","_interopRequireDefault","require","_propTypes","_reactKonva","_DeleteWidget","RectComponent","React","Component","constructor","props","_defineProperty2","default","e","width","height","isDrawing","onClick","id","cancelBubble","document","body","style","cursor","setState","hovered","trRef","current","setNode","shapeRef","getLayer","batchDraw","onDragEnd","isDragging","x","target","y","node","scaleX","scaleY","Math","max","onDeleteShape","state","createRef","render","correct","hotspotColor","outlineColor","strokeWidth","selectedHotspotColor","hoverOutlineColor","createElement","Group","onMouseLeave","handleMouseLeave","onMouseEnter","handleMouseEnter","padding","Rect","stroke","listening","ref","fill","handleClick","onTap","draggable","onDragStart","handleOnDragEnd","onTransformStart","onTransformEnd","onResizeEnd","opacity","handleWidgetClick","handleDelete","Transformer","rotateEnabled","boundBoxFunc","oldBox","newBox","propTypes","PropTypes","bool","isRequired","string","number","func","defaultProps","_default","exports"],"sources":["../src/hotspot-rectangle.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Rect, Group, Transformer } from 'react-konva';\nimport DeleteWidget from './DeleteWidget';\n\nclass RectComponent extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n hovered: false,\n isDragging: false,\n };\n this.shapeRef = React.createRef();\n this.trRef = React.createRef();\n }\n\n handleClick = (e) => {\n const { width, height, isDrawing, onClick, id } = this.props;\n if (width < 0 && height < 0 && isDrawing) {\n return;\n }\n e.cancelBubble = true;\n onClick(id);\n };\n\n handleMouseEnter = () => {\n document.body.style.cursor = 'pointer';\n this.setState({ hovered: true });\n this.trRef.current.setNode(this.shapeRef.current);\n this.trRef.current.getLayer().batchDraw();\n };\n\n handleMouseLeave = () => {\n this.setState({ hovered: false });\n document.body.style.cursor = 'default';\n };\n\n handleOnDragEnd = (e) => {\n const { onDragEnd, id } = this.props;\n this.setState({ isDragging: false });\n onDragEnd(id, {\n x: e.target.x(),\n y: e.target.y(),\n });\n };\n\n onResizeEnd = () => {\n const { onDragEnd, id } = this.props;\n // transformer is changing scale of the node\n // and NOT its width or height\n // but in the store we have only width and height\n // to match the data better we will reset scale on transform end\n const node = this.shapeRef.current;\n const scaleX = node.scaleX();\n const scaleY = node.scaleY();\n\n // we will reset it back\n node.scaleX(1);\n node.scaleY(1);\n this.setState({ isDragging: false });\n onDragEnd(id, {\n x: node.x(),\n y: node.y(),\n // set minimal value\n width: Math.max(5, node.width() * scaleX),\n height: Math.max(node.height() * scaleY),\n });\n };\n\n handleDelete = (id) => {\n const { onDeleteShape } = this.props;\n onDeleteShape(id);\n };\n\n render() {\n const {\n correct,\n height,\n hotspotColor,\n id,\n outlineColor,\n width,\n x,\n y,\n strokeWidth = 5,\n selectedHotspotColor,\n hoverOutlineColor,\n } = this.props;\n\n const { hovered } = this.state;\n\n return (\n <Group onMouseLeave={this.handleMouseLeave} onMouseEnter={this.handleMouseEnter} padding={12}>\n {hoverOutlineColor && hovered && (\n <Rect\n x={x}\n y={y}\n width={width}\n height={height}\n stroke={hoverOutlineColor}\n strokeWidth={2}\n listening={false}\n />\n )}\n\n <Rect\n ref={this.shapeRef}\n width={width}\n height={height}\n fill={correct && selectedHotspotColor ? selectedHotspotColor : hotspotColor}\n onClick={this.handleClick}\n onTap={this.handleClick}\n draggable\n stroke={hovered ? 'transparent' : outlineColor}\n strokeWidth={correct && !hovered ? strokeWidth : 0}\n onDragStart={() => this.setState({ isDragging: true })}\n onDragEnd={this.handleOnDragEnd}\n onTransformStart={() => this.setState({ isDragging: true })}\n onTransformEnd={this.onResizeEnd}\n x={x}\n y={y}\n opacity={0.5}\n cursor=\"pointer\"\n />\n {!this.state.isDragging && this.state.hovered && (\n <DeleteWidget id={id} height={height} width={width} x={x} y={y} handleWidgetClick={this.handleDelete} />\n )}\n {this.state.hovered && (\n <Transformer\n ref={this.trRef}\n rotateEnabled={false}\n boundBoxFunc={(oldBox, newBox) => {\n // limit resize\n if (newBox.width < 10 || newBox.height < 10) {\n return oldBox;\n }\n return newBox;\n }}\n />\n )}\n </Group>\n );\n }\n}\n\nRectComponent.propTypes = {\n correct: PropTypes.bool,\n isDrawing: PropTypes.bool.isRequired,\n id: PropTypes.string.isRequired,\n height: PropTypes.number.isRequired,\n hotspotColor: PropTypes.string.isRequired,\n selectedHotspotColor: PropTypes.string,\n hoverOutlineColor: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n onDeleteShape: PropTypes.func.isRequired,\n onDragEnd: PropTypes.func.isRequired,\n outlineColor: PropTypes.string.isRequired,\n width: PropTypes.number.isRequired,\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n strokeWidth: PropTypes.number,\n};\n\nRectComponent.defaultProps = {\n correct: false,\n};\n\nexport default RectComponent;\n"],"mappings":"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","ignoreList":[]}