@pie-element/drawing-response 4.6.1-beta.1 → 4.6.1-beta.4

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 (52) hide show
  1. package/configure/lib/button.js +51 -0
  2. package/configure/lib/button.js.map +1 -0
  3. package/configure/lib/defaults.js +56 -0
  4. package/configure/lib/defaults.js.map +1 -0
  5. package/configure/lib/image-container.js +318 -0
  6. package/configure/lib/image-container.js.map +1 -0
  7. package/configure/lib/index.js +141 -0
  8. package/configure/lib/index.js.map +1 -0
  9. package/configure/lib/root.js +220 -0
  10. package/configure/lib/root.js.map +1 -0
  11. package/configure/package.json +2 -2
  12. package/controller/lib/defaults.js +16 -0
  13. package/controller/lib/defaults.js.map +1 -0
  14. package/controller/lib/index.js +68 -0
  15. package/controller/lib/index.js.map +1 -0
  16. package/lib/drawing-response/button.js +64 -0
  17. package/lib/drawing-response/button.js.map +1 -0
  18. package/lib/drawing-response/constants.js +44 -0
  19. package/lib/drawing-response/constants.js.map +1 -0
  20. package/lib/drawing-response/container.js +298 -0
  21. package/lib/drawing-response/container.js.map +1 -0
  22. package/lib/drawing-response/drawable-circle.js +98 -0
  23. package/lib/drawing-response/drawable-circle.js.map +1 -0
  24. package/lib/drawing-response/drawable-eraser.js +80 -0
  25. package/lib/drawing-response/drawable-eraser.js.map +1 -0
  26. package/lib/drawing-response/drawable-free-path.js +90 -0
  27. package/lib/drawing-response/drawable-free-path.js.map +1 -0
  28. package/lib/drawing-response/drawable-helper.js +40 -0
  29. package/lib/drawing-response/drawable-helper.js.map +1 -0
  30. package/lib/drawing-response/drawable-image.js +51 -0
  31. package/lib/drawing-response/drawable-image.js.map +1 -0
  32. package/lib/drawing-response/drawable-line.js +93 -0
  33. package/lib/drawing-response/drawable-line.js.map +1 -0
  34. package/lib/drawing-response/drawable-main.js +349 -0
  35. package/lib/drawing-response/drawable-main.js.map +1 -0
  36. package/lib/drawing-response/drawable-palette.js +145 -0
  37. package/lib/drawing-response/drawable-palette.js.map +1 -0
  38. package/lib/drawing-response/drawable-rectangle.js +98 -0
  39. package/lib/drawing-response/drawable-rectangle.js.map +1 -0
  40. package/lib/drawing-response/drawable-text.js +328 -0
  41. package/lib/drawing-response/drawable-text.js.map +1 -0
  42. package/lib/drawing-response/drawable-transformer.js +75 -0
  43. package/lib/drawing-response/drawable-transformer.js.map +1 -0
  44. package/lib/drawing-response/factory.js +24 -0
  45. package/lib/drawing-response/factory.js.map +1 -0
  46. package/lib/drawing-response/icon.js +55 -0
  47. package/lib/drawing-response/icon.js.map +1 -0
  48. package/lib/drawing-response/index.js +102 -0
  49. package/lib/drawing-response/index.js.map +1 -0
  50. package/lib/index.js +87 -0
  51. package/lib/index.js.map +1 -0
  52. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawable-free-path.js","names":["_react","_interopRequireDefault","require","_reactKonva","_drawableHelper","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","FreePathDrawable","_DrawableHelper","_inherits2","_super","props","_this","_classCallCheck2","TYPE","_defineProperty2","_assertThisInitialized2","event","posX","target","getX","posY","getY","handleSessionChange","startx","starty","points","_createClass2","key","value","registerMovement","x","y","concat","_toConsumableArray2","handleOnClick","paint","paintColor","forceUpdate","render","_this2","draggable","onMouseOverElement","onMouseOutElement","createElement","Line","tension","bezier","fill","fillColor","onClick","onDragEnd","handleDragEnd","bind","onMouseEnter","onMouseLeave","stroke","outlineColor","DrawableHelper","exports"],"sources":["../../src/drawing-response/drawable-free-path.jsx"],"sourcesContent":["import React from 'react';\nimport { Line } from 'react-konva';\n\nimport DrawableHelper from './drawable-helper';\n\nexport default class FreePathDrawable extends DrawableHelper {\n static TYPE = 'FreePathDrawable';\n\n constructor(props) {\n super(props, FreePathDrawable.TYPE);\n const { startx, starty, points, posX, posY } = props;\n\n this.points = points || [startx, starty];\n this.posX = posX || 0;\n this.posY = posY || 0;\n }\n\n registerMovement(x, y) {\n this.points = [...this.points, x, y];\n }\n\n handleOnClick(props) {\n const { paint, paintColor, forceUpdate } = props;\n\n if (paint) {\n this.paintColor = paintColor;\n forceUpdate();\n }\n }\n\n handleDragEnd = (props, event) => {\n this.posX = event.target.getX();\n this.posY = event.target.getY();\n\n props.handleSessionChange();\n };\n\n render(props) {\n const { draggable, key, onMouseOverElement, onMouseOutElement } = props;\n\n return (\n <Line\n key={key}\n draggable={draggable}\n tension={0}\n bezier={true}\n points={this.points}\n fill={this.paintColor || this.fillColor}\n onClick={() => this.handleOnClick(props)}\n onDragEnd={this.handleDragEnd.bind(this, props)}\n onMouseEnter={onMouseOverElement}\n onMouseLeave={onMouseOutElement}\n stroke={this.paintColor || this.outlineColor}\n x={this.posX}\n y={this.posY}\n />\n );\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ /**
11
+ * Not using React in order to avoid performance issues.
12
+ * If you switch this class to a React one make sure that
13
+ * this interaction will not have performance leaks in pie-website nor in pits.
14
+ */
15
+ var DrawableHelper = /*#__PURE__*/function () {
16
+ function DrawableHelper(props, type) {
17
+ (0, _classCallCheck2["default"])(this, DrawableHelper);
18
+ var startx = props.startx,
19
+ starty = props.starty,
20
+ fillColor = props.fillColor,
21
+ outlineColor = props.outlineColor,
22
+ createdAt = props.createdAt;
23
+ this.startx = startx;
24
+ this.starty = starty;
25
+ this.createdAt = createdAt;
26
+ this.fillColor = fillColor;
27
+ this.outlineColor = outlineColor;
28
+ this.type = type;
29
+ }
30
+ (0, _createClass2["default"])(DrawableHelper, [{
31
+ key: "toJson",
32
+ value: function toJson() {
33
+ var base = JSON.parse(JSON.stringify(this));
34
+ return base;
35
+ }
36
+ }]);
37
+ return DrawableHelper;
38
+ }();
39
+ exports["default"] = DrawableHelper;
40
+ //# sourceMappingURL=drawable-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawable-helper.js","names":["DrawableHelper","props","type","_classCallCheck2","startx","starty","fillColor","outlineColor","createdAt","_createClass2","key","value","toJson","base","JSON","parse","stringify","exports"],"sources":["../../src/drawing-response/drawable-helper.jsx"],"sourcesContent":["/**\n * Not using React in order to avoid performance issues.\n * If you switch this class to a React one make sure that\n * this interaction will not have performance leaks in pie-website nor in pits.\n */\nexport default class DrawableHelper {\n constructor(props, type) {\n const { startx, starty, fillColor, outlineColor, createdAt } = props;\n this.startx = startx;\n this.starty = starty;\n this.createdAt = createdAt;\n this.fillColor = fillColor;\n this.outlineColor = outlineColor;\n this.type = type;\n }\n\n toJson() {\n const base = JSON.parse(JSON.stringify(this));\n return base;\n }\n}\n"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAJA,IAKqBA,cAAc;EACjC,SAAAA,eAAYC,KAAK,EAAEC,IAAI,EAAE;IAAA,IAAAC,gBAAA,mBAAAH,cAAA;IACvB,IAAQI,MAAM,GAAiDH,KAAK,CAA5DG,MAAM;MAAEC,MAAM,GAAyCJ,KAAK,CAApDI,MAAM;MAAEC,SAAS,GAA8BL,KAAK,CAA5CK,SAAS;MAAEC,YAAY,GAAgBN,KAAK,CAAjCM,YAAY;MAAEC,SAAS,GAAKP,KAAK,CAAnBO,SAAS;IAC1D,IAAI,CAACJ,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACG,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACF,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACL,IAAI,GAAGA,IAAI;EAClB;EAAC,IAAAO,aAAA,aAAAT,cAAA;IAAAU,GAAA;IAAAC,KAAA,EAED,SAAAC,OAAA,EAAS;MACP,IAAMC,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAAC,IAAI,CAAC,CAAC;MAC7C,OAAOH,IAAI;IACb;EAAC;EAAA,OAAAb,cAAA;AAAA;AAAAiB,OAAA,cAAAjB,cAAA"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _styles = require("@material-ui/core/styles");
11
+ var DrawableImage = function DrawableImage(_ref) {
12
+ var classes = _ref.classes,
13
+ url = _ref.url,
14
+ _ref$dimensions = _ref.dimensions,
15
+ height = _ref$dimensions.height,
16
+ width = _ref$dimensions.width;
17
+ return /*#__PURE__*/_react["default"].createElement("div", {
18
+ className: classes.imageContainer
19
+ }, /*#__PURE__*/_react["default"].createElement("img", {
20
+ alt: "drawing-response-image",
21
+ className: classes.image,
22
+ src: url,
23
+ style: {
24
+ height: height,
25
+ maxWidth: width,
26
+ maxHeight: 350,
27
+ width: width
28
+ }
29
+ }));
30
+ };
31
+ var styles = function styles() {
32
+ return {
33
+ image: {
34
+ alignItems: 'center',
35
+ display: 'flex',
36
+ justifyContent: 'center'
37
+ },
38
+ imageContainer: {
39
+ position: 'relative',
40
+ width: 'fit-content'
41
+ }
42
+ };
43
+ };
44
+ DrawableImage.propTypes = {
45
+ classes: _propTypes["default"].object.isRequired,
46
+ dimensions: _propTypes["default"].object.isRequired,
47
+ url: _propTypes["default"].string.isRequired
48
+ };
49
+ var _default = (0, _styles.withStyles)(styles)(DrawableImage);
50
+ exports["default"] = _default;
51
+ //# sourceMappingURL=drawable-image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawable-image.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","DrawableImage","_ref","classes","url","_ref$dimensions","dimensions","height","width","createElement","className","imageContainer","alt","image","src","style","maxWidth","maxHeight","styles","alignItems","display","justifyContent","position","propTypes","PropTypes","object","isRequired","string","_default","withStyles","exports"],"sources":["../../src/drawing-response/drawable-image.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst DrawableImage = ({ classes, url, dimensions: { height, width } }) => (\n <div className={classes.imageContainer}>\n <img\n alt=\"drawing-response-image\"\n className={classes.image}\n src={url}\n style={{\n height,\n maxWidth: width,\n maxHeight: 350,\n width,\n }}\n />\n </div>\n);\n\nconst styles = () => ({\n image: {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center',\n },\n imageContainer: {\n position: 'relative',\n width: 'fit-content',\n },\n});\n\nDrawableImage.propTypes = {\n classes: PropTypes.object.isRequired,\n dimensions: PropTypes.object.isRequired,\n url: PropTypes.string.isRequired,\n};\n\nexport default withStyles(styles)(DrawableImage);\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAMG,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA;EAAA,IAAMC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IAAAC,eAAA,GAAAH,IAAA,CAAEI,UAAU;IAAIC,MAAM,GAAAF,eAAA,CAANE,MAAM;IAAEC,KAAK,GAAAH,eAAA,CAALG,KAAK;EAAA,oBAChEZ,MAAA,YAAAa,aAAA;IAAKC,SAAS,EAAEP,OAAO,CAACQ;EAAe,gBACrCf,MAAA,YAAAa,aAAA;IACEG,GAAG,EAAC,wBAAwB;IAC5BF,SAAS,EAAEP,OAAO,CAACU,KAAM;IACzBC,GAAG,EAAEV,GAAI;IACTW,KAAK,EAAE;MACLR,MAAM,EAANA,MAAM;MACNS,QAAQ,EAAER,KAAK;MACfS,SAAS,EAAE,GAAG;MACdT,KAAK,EAALA;IACF;EAAE,CACH,CACE,CAAC;AAAA,CACP;AAED,IAAMU,MAAM,GAAG,SAATA,MAAMA,CAAA;EAAA,OAAU;IACpBL,KAAK,EAAE;MACLM,UAAU,EAAE,QAAQ;MACpBC,OAAO,EAAE,MAAM;MACfC,cAAc,EAAE;IAClB,CAAC;IACDV,cAAc,EAAE;MACdW,QAAQ,EAAE,UAAU;MACpBd,KAAK,EAAE;IACT;EACF,CAAC;AAAA,CAAC;AAEFP,aAAa,CAACsB,SAAS,GAAG;EACxBpB,OAAO,EAAEqB,qBAAS,CAACC,MAAM,CAACC,UAAU;EACpCpB,UAAU,EAAEkB,qBAAS,CAACC,MAAM,CAACC,UAAU;EACvCtB,GAAG,EAAEoB,qBAAS,CAACG,MAAM,CAACD;AACxB,CAAC;AAAC,IAAAE,QAAA,GAEa,IAAAC,kBAAU,EAACX,MAAM,CAAC,CAACjB,aAAa,CAAC;AAAA6B,OAAA,cAAAF,QAAA"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
11
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+ var _react = _interopRequireDefault(require("react"));
16
+ var _reactKonva = require("react-konva");
17
+ var _drawableHelper = _interopRequireDefault(require("./drawable-helper"));
18
+ 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); }; }
19
+ 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; } }
20
+ var LineDrawable = /*#__PURE__*/function (_DrawableHelper) {
21
+ (0, _inherits2["default"])(LineDrawable, _DrawableHelper);
22
+ var _super = _createSuper(LineDrawable);
23
+ function LineDrawable(_props) {
24
+ var _this;
25
+ (0, _classCallCheck2["default"])(this, LineDrawable);
26
+ _this = _super.call(this, _props, LineDrawable.TYPE);
27
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleDragEnd", function (props, event) {
28
+ _this.posX = event.target.getX();
29
+ _this.posY = event.target.getY();
30
+ props.handleSessionChange();
31
+ });
32
+ var startx = _props.startx,
33
+ starty = _props.starty,
34
+ x = _props.x,
35
+ y = _props.y,
36
+ posX = _props.posX,
37
+ posY = _props.posY;
38
+ _this.x = x || startx;
39
+ _this.y = y || starty;
40
+ _this.posX = posX || 0;
41
+ _this.posY = posY || 0;
42
+ return _this;
43
+ }
44
+ (0, _createClass2["default"])(LineDrawable, [{
45
+ key: "registerMovement",
46
+ value: function registerMovement(x, y) {
47
+ this.x = x;
48
+ this.y = y;
49
+ }
50
+ }, {
51
+ key: "handleOnClick",
52
+ value: function handleOnClick(props) {
53
+ var paint = props.paint,
54
+ paintColor = props.paintColor,
55
+ forceUpdate = props.forceUpdate;
56
+ if (paint) {
57
+ this.paintColor = paintColor;
58
+ forceUpdate();
59
+ }
60
+ }
61
+ }, {
62
+ key: "render",
63
+ value: function render(props) {
64
+ var _this2 = this;
65
+ var draggable = props.draggable,
66
+ key = props.key,
67
+ onMouseOverElement = props.onMouseOverElement,
68
+ onMouseOutElement = props.onMouseOutElement;
69
+ var points = [this.startx, this.starty, this.x, this.y];
70
+ return /*#__PURE__*/_react["default"].createElement(_reactKonva.Arrow, {
71
+ key: key,
72
+ draggable: draggable,
73
+ points: points,
74
+ fill: this.paintColor || this.outlineColor,
75
+ onClick: function onClick() {
76
+ return _this2.handleOnClick(props);
77
+ },
78
+ stroke: this.paintColor || this.outlineColor,
79
+ onDragEnd: this.handleDragEnd.bind(this, props),
80
+ onMouseEnter: onMouseOverElement,
81
+ onMouseLeave: onMouseOutElement,
82
+ x: this.posX,
83
+ y: this.posY,
84
+ pointerWidth: 0,
85
+ pointerLength: 0
86
+ });
87
+ }
88
+ }]);
89
+ return LineDrawable;
90
+ }(_drawableHelper["default"]);
91
+ exports["default"] = LineDrawable;
92
+ (0, _defineProperty2["default"])(LineDrawable, "TYPE", 'LineDrawable');
93
+ //# sourceMappingURL=drawable-line.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawable-line.js","names":["_react","_interopRequireDefault","require","_reactKonva","_drawableHelper","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","LineDrawable","_DrawableHelper","_inherits2","_super","props","_this","_classCallCheck2","TYPE","_defineProperty2","_assertThisInitialized2","event","posX","target","getX","posY","getY","handleSessionChange","startx","starty","x","y","_createClass2","key","value","registerMovement","handleOnClick","paint","paintColor","forceUpdate","render","_this2","draggable","onMouseOverElement","onMouseOutElement","points","createElement","Arrow","fill","outlineColor","onClick","stroke","onDragEnd","handleDragEnd","bind","onMouseEnter","onMouseLeave","pointerWidth","pointerLength","DrawableHelper","exports"],"sources":["../../src/drawing-response/drawable-line.jsx"],"sourcesContent":["import React from 'react';\nimport { Arrow } from 'react-konva';\n\nimport DrawableHelper from './drawable-helper';\n\nexport default class LineDrawable extends DrawableHelper {\n static TYPE = 'LineDrawable';\n\n constructor(props) {\n super(props, LineDrawable.TYPE);\n const { startx, starty, x, y, posX, posY } = props;\n\n this.x = x || startx;\n this.y = y || starty;\n this.posX = posX || 0;\n this.posY = posY || 0;\n }\n\n registerMovement(x, y) {\n this.x = x;\n this.y = y;\n }\n\n handleOnClick(props) {\n const { paint, paintColor, forceUpdate } = props;\n\n if (paint) {\n this.paintColor = paintColor;\n forceUpdate();\n }\n }\n\n handleDragEnd = (props, event) => {\n this.posX = event.target.getX();\n this.posY = event.target.getY();\n\n props.handleSessionChange();\n };\n\n render(props) {\n const { draggable, key, onMouseOverElement, onMouseOutElement } = props;\n const points = [this.startx, this.starty, this.x, this.y];\n\n return (\n <Arrow\n key={key}\n draggable={draggable}\n points={points}\n fill={this.paintColor || this.outlineColor}\n onClick={() => this.handleOnClick(props)}\n stroke={this.paintColor || this.outlineColor}\n onDragEnd={this.handleDragEnd.bind(this, props)}\n onMouseEnter={onMouseOverElement}\n onMouseLeave={onMouseOutElement}\n x={this.posX}\n y={this.posY}\n pointerWidth={0}\n pointerLength={0}\n />\n );\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,349 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.DrawableMain = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+ var _react = _interopRequireDefault(require("react"));
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+ var _omit = _interopRequireDefault(require("lodash/omit"));
20
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
21
+ var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
22
+ var _classnames2 = _interopRequireDefault(require("classnames"));
23
+ var _reactKonva = require("react-konva");
24
+ var _styles = require("@material-ui/core/styles");
25
+ var _drawableImage = _interopRequireDefault(require("./drawable-image"));
26
+ var _button = _interopRequireDefault(require("./button"));
27
+ var _factory = _interopRequireDefault(require("./factory"));
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
30
+ 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); }; }
31
+ 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; } }
32
+ var DrawableMain = /*#__PURE__*/function (_React$Component) {
33
+ (0, _inherits2["default"])(DrawableMain, _React$Component);
34
+ var _super = _createSuper(DrawableMain);
35
+ function DrawableMain(props) {
36
+ var _this;
37
+ (0, _classCallCheck2["default"])(this, DrawableMain);
38
+ _this = _super.call(this, props);
39
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleSessionChange", function () {
40
+ var _this$props = _this.props,
41
+ onSessionChange = _this$props.onSessionChange,
42
+ session = _this$props.session,
43
+ TextEntry = _this$props.TextEntry;
44
+ var drawables = _this.state.drawables;
45
+ var newSession = {
46
+ drawables: drawables.map(function (d) {
47
+ return d.toJson();
48
+ }),
49
+ texts: TextEntry.all.map(function (text) {
50
+ return _objectSpread(_objectSpread(_objectSpread({}, text), TextEntry["text_".concat(text.id)] && TextEntry["text_".concat(text.id)].attrs), {}, {
51
+ value: TextEntry["textarea_".concat(text.id)] && TextEntry["textarea_".concat(text.id)].value
52
+ });
53
+ })
54
+ };
55
+ if (!(0, _isEqual["default"])(newSession, session)) {
56
+ onSessionChange(_objectSpread(_objectSpread({}, session), newSession));
57
+ }
58
+ });
59
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onMouseOverElement", function () {
60
+ return _this.setState({
61
+ isOver: true
62
+ });
63
+ });
64
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onMouseOutElement", function () {
65
+ return _this.setState({
66
+ isOver: false
67
+ });
68
+ });
69
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleMouseDown", function (e) {
70
+ // ONLY IF MOBILE?
71
+ document.body.style.overflow = 'hidden';
72
+ var _this$state = _this.state,
73
+ newDrawable = _this$state.newDrawable,
74
+ textIsSelected = _this$state.textIsSelected;
75
+ var _this$props2 = _this.props,
76
+ toolActive = _this$props2.toolActive,
77
+ fillColor = _this$props2.fillColor,
78
+ outlineColor = _this$props2.outlineColor,
79
+ scale = _this$props2.scale;
80
+ if (newDrawable.length === 0 && !textIsSelected) {
81
+ var _e$target$getStage$ge = e.target.getStage().getPointerPosition(),
82
+ x = _e$target$getStage$ge.x,
83
+ y = _e$target$getStage$ge.y;
84
+ var _newDrawable = (0, _factory["default"])(toolActive.type, {
85
+ startx: x / scale,
86
+ starty: y / scale,
87
+ fillColor: fillColor,
88
+ outlineColor: outlineColor,
89
+ createdAt: new Date()
90
+ });
91
+ _this.setState({
92
+ newDrawable: [_newDrawable]
93
+ });
94
+ }
95
+ });
96
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleMouseUp", function (e) {
97
+ // ONLY IF MOBILE?
98
+ document.body.style.overflow = 'initial';
99
+ var _this$state2 = _this.state,
100
+ newDrawable = _this$state2.newDrawable,
101
+ drawables = _this$state2.drawables;
102
+ var scale = _this.props.scale;
103
+ if (newDrawable.length === 1) {
104
+ var _e$target$getStage$ge2 = e.target.getStage().getPointerPosition(),
105
+ x = _e$target$getStage$ge2.x,
106
+ y = _e$target$getStage$ge2.y;
107
+ var drawableToAdd = newDrawable[0];
108
+ drawableToAdd.registerMovement(x / scale, y / scale);
109
+ drawables.push(drawableToAdd);
110
+ _this.setState({
111
+ newDrawable: [],
112
+ drawables: drawables
113
+ }, _this.handleSessionChange.bind((0, _assertThisInitialized2["default"])(_this), drawableToAdd));
114
+ }
115
+ });
116
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleMouseMove", function (e) {
117
+ var newDrawable = _this.state.newDrawable;
118
+ var scale = _this.props.scale;
119
+ if (newDrawable.length === 1) {
120
+ var _e$target$getStage$ge3 = e.target.getStage().getPointerPosition(),
121
+ x = _e$target$getStage$ge3.x,
122
+ y = _e$target$getStage$ge3.y;
123
+ var updatedNewDrawable = newDrawable[0];
124
+ updatedNewDrawable.registerMovement(x / scale, y / scale);
125
+ _this.setState({
126
+ newDrawable: [updatedNewDrawable]
127
+ });
128
+ }
129
+ });
130
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleUndo", function () {
131
+ var drawables = _this.state.drawables;
132
+ var TextEntry = _this.props.TextEntry;
133
+ var newDrawables = (0, _toConsumableArray2["default"])(drawables);
134
+ var allData = [].concat((0, _toConsumableArray2["default"])(drawables), (0, _toConsumableArray2["default"])(TextEntry.all));
135
+ allData.sort(function (a, b) {
136
+ return new Date(a.createdAt) - new Date(b.createdAt);
137
+ });
138
+ var lastElement = allData[allData.length - 1];
139
+ if (lastElement && lastElement.type === 'text-entry') {
140
+ TextEntry.all.pop();
141
+ _this.setState({
142
+ updatedAt: new Date()
143
+ }, _this.handleSessionChange);
144
+ } else {
145
+ newDrawables.pop();
146
+ _this.setState({
147
+ drawables: newDrawables
148
+ }, _this.handleSessionChange);
149
+ }
150
+ });
151
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClearAll", function () {
152
+ var TextEntry = _this.props.TextEntry;
153
+ TextEntry.all = [];
154
+ _this.setState({
155
+ drawables: [],
156
+ updatedAt: new Date()
157
+ }, _this.handleSessionChange);
158
+ });
159
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "toggleTextSelected", function (textIsSelected) {
160
+ return _this.setState({
161
+ textIsSelected: textIsSelected
162
+ });
163
+ });
164
+ _this.state = {
165
+ drawables: [],
166
+ newDrawable: [],
167
+ textIsSelected: false
168
+ };
169
+ return _this;
170
+ }
171
+ (0, _createClass2["default"])(DrawableMain, [{
172
+ key: "UNSAFE_componentWillReceiveProps",
173
+ value: function UNSAFE_componentWillReceiveProps(nextProps) {
174
+ if (nextProps.session) {
175
+ var TextEntry = nextProps.TextEntry;
176
+ var currentDrawables = this.state.drawables;
177
+ if (nextProps.session.drawables) {
178
+ var newDrawables = (0, _cloneDeep["default"])(nextProps.session.drawables);
179
+ var drawablesString = JSON.stringify(currentDrawables);
180
+ var sessionDrawableString = JSON.stringify((newDrawables || []).map(function (drawable) {
181
+ return (0, _omit["default"])(drawable, 'type');
182
+ }));
183
+ if (drawablesString !== sessionDrawableString) {
184
+ var drawableArray = nextProps.session.drawables;
185
+ this.setState({
186
+ drawables: drawableArray.map(function (drawable) {
187
+ return (0, _factory["default"])(drawable.type, drawable);
188
+ })
189
+ });
190
+ }
191
+ var currentTexts = TextEntry.all.map(function (text) {
192
+ return _objectSpread(_objectSpread(_objectSpread({}, text), TextEntry["text_".concat(text.id)] && TextEntry["text_".concat(text.id)].attrs), {}, {
193
+ value: TextEntry["textarea_".concat(text.id)] && TextEntry["textarea_".concat(text.id)].value
194
+ });
195
+ });
196
+ if (!(0, _isEqual["default"])(currentTexts, nextProps.session.texts)) {
197
+ TextEntry.setAll(nextProps.session.texts || []);
198
+ }
199
+ }
200
+ } else {
201
+ this.handleSessionChange();
202
+ }
203
+ }
204
+ }, {
205
+ key: "render",
206
+ value: function render() {
207
+ var _this2 = this;
208
+ var _this$props3 = this.props,
209
+ classes = _this$props3.classes,
210
+ disabled = _this$props3.disabled,
211
+ drawableDimensions = _this$props3.drawableDimensions,
212
+ fillColor = _this$props3.fillColor,
213
+ imageDimensions = _this$props3.imageDimensions,
214
+ imageUrl = _this$props3.imageUrl,
215
+ paintColor = _this$props3.paintColor,
216
+ outlineColor = _this$props3.outlineColor,
217
+ TextEntry = _this$props3.TextEntry,
218
+ _this$props3$backgrou = _this$props3.backgroundImageEnabled,
219
+ backgroundImageEnabled = _this$props3$backgrou === void 0 ? true : _this$props3$backgrou,
220
+ type = _this$props3.toolActive.type,
221
+ scale = _this$props3.scale;
222
+ var _this$state3 = this.state,
223
+ isOver = _this$state3.isOver,
224
+ newDrawable = _this$state3.newDrawable;
225
+ var draggable = type === 'Select';
226
+ var paint = type === 'PaintBucket';
227
+ var drawables = [].concat((0, _toConsumableArray2["default"])(this.state.drawables), (0, _toConsumableArray2["default"])(this.state.newDrawable));
228
+ var drawableProps = {
229
+ draggable: draggable && !disabled,
230
+ disabled: disabled,
231
+ paint: paint,
232
+ fillColor: fillColor,
233
+ forceUpdate: function forceUpdate() {
234
+ return _this2.setState({
235
+ updatedAt: new Date()
236
+ });
237
+ },
238
+ paintColor: paintColor,
239
+ outlineColor: outlineColor,
240
+ toggleTextSelected: this.toggleTextSelected,
241
+ handleSessionChange: this.handleSessionChange,
242
+ stage: this.stage,
243
+ onMouseOverElement: this.onMouseOverElement,
244
+ onMouseOutElement: this.onMouseOutElement,
245
+ scale: scale
246
+ };
247
+ var listeners = {};
248
+ if (!disabled) {
249
+ listeners = {
250
+ onMouseUp: this.handleMouseUp,
251
+ onTouchEnd: this.handleMouseUp,
252
+ onMouseMove: this.handleMouseMove,
253
+ onTouchMove: this.handleMouseMove
254
+ };
255
+ if (!draggable) {
256
+ listeners.onMouseDown = this.handleMouseDown;
257
+ listeners.onTouchStart = this.handleMouseDown;
258
+ }
259
+ }
260
+ var imageHeight = (imageDimensions === null || imageDimensions === void 0 ? void 0 : imageDimensions.height) * scale;
261
+ var imageWidth = (imageDimensions === null || imageDimensions === void 0 ? void 0 : imageDimensions.width) * scale;
262
+ return /*#__PURE__*/_react["default"].createElement("div", {
263
+ className: classes.wrapper
264
+ }, /*#__PURE__*/_react["default"].createElement("div", {
265
+ className: classes.undoControls
266
+ }, /*#__PURE__*/_react["default"].createElement(_button["default"], {
267
+ disabled: disabled,
268
+ onClick: this.handleUndo,
269
+ label: "Undo"
270
+ }), /*#__PURE__*/_react["default"].createElement(_button["default"], {
271
+ disabled: disabled,
272
+ onClick: this.handleClearAll,
273
+ label: "Clear all"
274
+ })), /*#__PURE__*/_react["default"].createElement("div", {
275
+ className: classes.base
276
+ }, backgroundImageEnabled && imageUrl && /*#__PURE__*/_react["default"].createElement(_drawableImage["default"], {
277
+ dimensions: {
278
+ height: imageHeight,
279
+ width: imageWidth
280
+ },
281
+ url: imageUrl
282
+ }), TextEntry.renderTextareas(), /*#__PURE__*/_react["default"].createElement(_reactKonva.Stage, (0, _extends2["default"])({
283
+ scaleX: scale,
284
+ scaleY: scale,
285
+ ref: function ref(_ref2) {
286
+ _this2.stage = _ref2;
287
+ },
288
+ className: (0, _classnames2["default"])(classes.stage, (0, _defineProperty2["default"])({}, classes.active, draggable && (isOver || newDrawable && newDrawable.length === 1))),
289
+ height: drawableDimensions.height,
290
+ width: drawableDimensions.width
291
+ }, listeners), /*#__PURE__*/_react["default"].createElement(_reactKonva.Layer, {
292
+ ref: function ref(_ref) {
293
+ _this2.layer = _ref;
294
+ }
295
+ }, drawables.map(function (drawable, key) {
296
+ return drawable.render(_objectSpread(_objectSpread({}, drawableProps), {}, {
297
+ key: key
298
+ }));
299
+ }), TextEntry.render(drawableProps)))));
300
+ }
301
+ }]);
302
+ return DrawableMain;
303
+ }(_react["default"].Component);
304
+ exports.DrawableMain = DrawableMain;
305
+ var styles = function styles() {
306
+ return {
307
+ wrapper: {
308
+ display: 'flex',
309
+ flexWrap: 'wrap',
310
+ justifyContent: 'flex-end'
311
+ },
312
+ base: {
313
+ position: 'relative',
314
+ width: '100%'
315
+ },
316
+ stage: {
317
+ left: 0,
318
+ position: 'absolute',
319
+ touchAction: 'none',
320
+ top: 0
321
+ },
322
+ active: {
323
+ cursor: 'pointer'
324
+ },
325
+ undoControls: {
326
+ marginTop: -43,
327
+ width: 163
328
+ }
329
+ };
330
+ };
331
+ DrawableMain.propTypes = {
332
+ classes: _propTypes["default"].object.isRequired,
333
+ disabled: _propTypes["default"].bool,
334
+ drawableDimensions: _propTypes["default"].object.isRequired,
335
+ imageDimensions: _propTypes["default"].object.isRequired,
336
+ fillColor: _propTypes["default"].string.isRequired,
337
+ onSessionChange: _propTypes["default"].func.isRequired,
338
+ paintColor: _propTypes["default"].string.isRequired,
339
+ outlineColor: _propTypes["default"].string.isRequired,
340
+ imageUrl: _propTypes["default"].string.isRequired,
341
+ TextEntry: _propTypes["default"].object.isRequired,
342
+ toolActive: _propTypes["default"].object.isRequired,
343
+ session: _propTypes["default"].object.isRequired,
344
+ backgroundImageEnabled: _propTypes["default"].bool.isRequired,
345
+ scale: _propTypes["default"].number.isRequired
346
+ };
347
+ var _default = (0, _styles.withStyles)(styles)(DrawableMain);
348
+ exports["default"] = _default;
349
+ //# sourceMappingURL=drawable-main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawable-main.js","names":["_react","_interopRequireDefault","require","_propTypes","_omit","_cloneDeep","_isEqual","_classnames2","_reactKonva","_styles","_drawableImage","_button","_factory","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","DrawableMain","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","_assertThisInitialized2","_this$props","onSessionChange","session","TextEntry","drawables","state","newSession","map","d","toJson","texts","all","text","concat","id","attrs","value","isEqual","setState","isOver","document","body","style","overflow","_this$state","newDrawable","textIsSelected","_this$props2","toolActive","fillColor","outlineColor","scale","_e$target$getStage$ge","getStage","getPointerPosition","x","y","factory","type","startx","starty","createdAt","Date","_this$state2","_e$target$getStage$ge2","drawableToAdd","registerMovement","handleSessionChange","bind","_e$target$getStage$ge3","updatedNewDrawable","newDrawables","_toConsumableArray2","allData","sort","a","b","lastElement","pop","updatedAt","_createClass2","UNSAFE_componentWillReceiveProps","nextProps","currentDrawables","cloneDeep","drawablesString","JSON","stringify","sessionDrawableString","drawable","omit","drawableArray","currentTexts","setAll","render","_this2","_this$props3","classes","disabled","drawableDimensions","imageDimensions","imageUrl","paintColor","_this$props3$backgrou","backgroundImageEnabled","_this$state3","draggable","paint","drawableProps","forceUpdate","toggleTextSelected","stage","onMouseOverElement","onMouseOutElement","listeners","onMouseUp","handleMouseUp","onTouchEnd","onMouseMove","handleMouseMove","onTouchMove","onMouseDown","handleMouseDown","onTouchStart","imageHeight","height","imageWidth","width","createElement","className","wrapper","undoControls","onClick","handleUndo","label","handleClearAll","base","dimensions","url","renderTextareas","Stage","_extends2","scaleX","scaleY","ref","classnames","active","Layer","layer","React","Component","exports","styles","display","flexWrap","justifyContent","position","left","touchAction","top","cursor","marginTop","propTypes","PropTypes","isRequired","bool","string","func","number","_default","withStyles"],"sources":["../../src/drawing-response/drawable-main.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport omit from 'lodash/omit';\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEqual from 'lodash/isEqual';\nimport classnames from 'classnames';\nimport { Layer, Stage } from 'react-konva';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport ImageBackground from './drawable-image';\nimport Button from './button';\nimport factory from './factory';\n\nexport class DrawableMain extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n drawables: [],\n newDrawable: [],\n textIsSelected: false\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.session) {\n const { TextEntry } = nextProps;\n const { drawables: currentDrawables } = this.state;\n\n if (nextProps.session.drawables) {\n const newDrawables = cloneDeep(nextProps.session.drawables);\n const drawablesString = JSON.stringify(currentDrawables);\n const sessionDrawableString = JSON.stringify(\n (newDrawables || []).map(drawable => omit(drawable, 'type'))\n );\n\n if (drawablesString !== sessionDrawableString) {\n const drawableArray = nextProps.session.drawables;\n\n this.setState({\n drawables: drawableArray.map(drawable =>\n factory(drawable.type, drawable)\n )\n });\n }\n\n const currentTexts = TextEntry.all.map(text => ({\n ...text,\n ...(TextEntry[`text_${text.id}`] &&\n TextEntry[`text_${text.id}`].attrs),\n value:\n TextEntry[`textarea_${text.id}`] &&\n TextEntry[`textarea_${text.id}`].value\n }));\n\n if (!isEqual(currentTexts, nextProps.session.texts)) {\n TextEntry.setAll(nextProps.session.texts || []);\n }\n }\n } else {\n this.handleSessionChange();\n }\n }\n\n handleSessionChange = () => {\n const { onSessionChange, session, TextEntry } = this.props;\n const { drawables } = this.state;\n\n const newSession = {\n drawables: drawables.map(d => d.toJson()),\n texts: TextEntry.all.map(text => ({\n ...text,\n ...(TextEntry[`text_${text.id}`] && TextEntry[`text_${text.id}`].attrs),\n value:\n TextEntry[`textarea_${text.id}`] &&\n TextEntry[`textarea_${text.id}`].value\n }))\n };\n\n if (!isEqual(newSession, session)) {\n onSessionChange({\n ...session,\n ...newSession\n });\n }\n };\n\n onMouseOverElement = () => this.setState({ isOver: true });\n\n onMouseOutElement = () => this.setState({ isOver: false });\n\n handleMouseDown = e => {\n // ONLY IF MOBILE?\n document.body.style.overflow = 'hidden';\n\n const { newDrawable, textIsSelected } = this.state;\n const { toolActive, fillColor, outlineColor, scale } = this.props;\n\n if (newDrawable.length === 0 && !textIsSelected) {\n const { x, y } = e.target.getStage().getPointerPosition();\n\n const newDrawable = factory(toolActive.type, {\n startx: x / scale,\n starty: y / scale,\n fillColor,\n outlineColor,\n createdAt: new Date()\n });\n\n this.setState({\n newDrawable: [newDrawable]\n });\n }\n };\n\n handleMouseUp = e => {\n // ONLY IF MOBILE?\n document.body.style.overflow = 'initial';\n\n const { newDrawable, drawables } = this.state;\n const { scale } = this.props;\n\n if (newDrawable.length === 1) {\n const { x, y } = e.target.getStage().getPointerPosition();\n const drawableToAdd = newDrawable[0];\n\n drawableToAdd.registerMovement(x / scale, y / scale);\n drawables.push(drawableToAdd);\n\n this.setState(\n {\n newDrawable: [],\n drawables\n },\n this.handleSessionChange.bind(this, drawableToAdd)\n );\n }\n };\n\n handleMouseMove = e => {\n const { newDrawable } = this.state;\n const { scale } = this.props;\n\n if (newDrawable.length === 1) {\n const { x, y } = e.target.getStage().getPointerPosition();\n const updatedNewDrawable = newDrawable[0];\n\n updatedNewDrawable.registerMovement(x / scale, y / scale);\n\n this.setState({\n newDrawable: [updatedNewDrawable]\n });\n }\n };\n\n handleUndo = () => {\n const { drawables } = this.state;\n const { TextEntry } = this.props;\n\n const newDrawables = [...drawables];\n const allData = [...drawables, ...TextEntry.all];\n\n allData.sort((a, b) => new Date(a.createdAt) - new Date(b.createdAt));\n const lastElement = allData[allData.length - 1];\n\n if (lastElement && lastElement.type === 'text-entry') {\n TextEntry.all.pop();\n this.setState({ updatedAt: new Date() }, this.handleSessionChange);\n } else {\n newDrawables.pop();\n this.setState({ drawables: newDrawables }, this.handleSessionChange);\n }\n };\n\n handleClearAll = () => {\n const { TextEntry } = this.props;\n\n TextEntry.all = [];\n this.setState(\n { drawables: [], updatedAt: new Date() },\n this.handleSessionChange\n );\n };\n\n toggleTextSelected = textIsSelected => this.setState({ textIsSelected });\n\n render() {\n const {\n classes,\n disabled,\n drawableDimensions,\n fillColor,\n imageDimensions,\n imageUrl,\n paintColor,\n outlineColor,\n TextEntry,\n backgroundImageEnabled = true,\n toolActive: { type },\n scale\n } = this.props;\n const { isOver, newDrawable } = this.state;\n\n const draggable = type === 'Select';\n const paint = type === 'PaintBucket';\n const drawables = [...this.state.drawables, ...this.state.newDrawable];\n\n const drawableProps = {\n draggable: draggable && !disabled,\n disabled,\n paint,\n fillColor,\n forceUpdate: () => this.setState({ updatedAt: new Date() }),\n paintColor,\n outlineColor,\n toggleTextSelected: this.toggleTextSelected,\n handleSessionChange: this.handleSessionChange,\n stage: this.stage,\n onMouseOverElement: this.onMouseOverElement,\n onMouseOutElement: this.onMouseOutElement,\n scale\n };\n\n let listeners = {};\n\n if (!disabled) {\n listeners = {\n onMouseUp: this.handleMouseUp,\n onTouchEnd: this.handleMouseUp,\n onMouseMove: this.handleMouseMove,\n onTouchMove: this.handleMouseMove,\n };\n\n if (!draggable) {\n listeners.onMouseDown = this.handleMouseDown;\n listeners.onTouchStart = this.handleMouseDown;\n }\n }\n\n const imageHeight = imageDimensions?.height * scale;\n const imageWidth = imageDimensions?.width * scale;\n\n return (\n <div className={classes.wrapper}>\n <div className={classes.undoControls}>\n <Button disabled={disabled} onClick={this.handleUndo} label=\"Undo\"/>\n <Button disabled={disabled} onClick={this.handleClearAll} label=\"Clear all\"/>\n </div>\n <div className={classes.base}>\n {backgroundImageEnabled && imageUrl && (\n <ImageBackground\n dimensions={{ height: imageHeight, width: imageWidth }}\n url={imageUrl}/>\n )}\n\n {TextEntry.renderTextareas()}\n\n <Stage\n scaleX={scale}\n scaleY={scale}\n ref={ref => {\n this.stage = ref;\n }}\n className={classnames(classes.stage, {\n [classes.active]:\n draggable &&\n (isOver || (newDrawable && newDrawable.length === 1))\n })}\n height={drawableDimensions.height}\n width={drawableDimensions.width}\n {...listeners}\n >\n <Layer\n ref={ref => {\n this.layer = ref;\n }}\n >\n {drawables.map((drawable, key) =>\n drawable.render({ ...drawableProps, key })\n )}\n {/* Text Entry is a special case */}\n {TextEntry.render(drawableProps)}\n </Layer>\n </Stage>\n </div>\n </div>\n );\n }\n}\n\nconst styles = () => ({\n wrapper: {\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'flex-end'\n },\n base: {\n position: 'relative',\n width: '100%'\n },\n stage: {\n left: 0,\n position: 'absolute',\n touchAction: 'none',\n top: 0\n },\n active: {\n cursor: 'pointer'\n },\n undoControls: {\n marginTop: -43,\n width: 163\n }\n});\n\nDrawableMain.propTypes = {\n classes: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n drawableDimensions: PropTypes.object.isRequired,\n imageDimensions: PropTypes.object.isRequired,\n fillColor: PropTypes.string.isRequired,\n onSessionChange: PropTypes.func.isRequired,\n paintColor: PropTypes.string.isRequired,\n outlineColor: PropTypes.string.isRequired,\n imageUrl: PropTypes.string.isRequired,\n TextEntry: PropTypes.object.isRequired,\n toolActive: PropTypes.object.isRequired,\n session: PropTypes.object.isRequired,\n backgroundImageEnabled: PropTypes.bool.isRequired,\n scale: PropTypes.number.isRequired\n};\n\nexport default withStyles(styles)(DrawableMain);\n"],"mappings":"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"}