@pie-element/drawing-response 3.8.1 → 3.9.1

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 (37) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/configure/CHANGELOG.md +21 -0
  3. package/configure/lib/image-container.js +7 -3
  4. package/configure/lib/image-container.js.map +1 -1
  5. package/configure/lib/index.js +2 -2
  6. package/configure/lib/root.js +2 -2
  7. package/configure/lib/root.js.map +1 -1
  8. package/configure/package.json +3 -3
  9. package/controller/CHANGELOG.md +16 -0
  10. package/controller/lib/index.js +2 -4
  11. package/controller/lib/index.js.map +1 -1
  12. package/controller/package.json +1 -1
  13. package/lib/drawing-response/container.js +7 -3
  14. package/lib/drawing-response/container.js.map +1 -1
  15. package/lib/drawing-response/drawable-circle.js +1 -1
  16. package/lib/drawing-response/drawable-circle.js.map +1 -1
  17. package/lib/drawing-response/drawable-eraser.js +1 -1
  18. package/lib/drawing-response/drawable-eraser.js.map +1 -1
  19. package/lib/drawing-response/drawable-free-path.js +1 -1
  20. package/lib/drawing-response/drawable-free-path.js.map +1 -1
  21. package/lib/drawing-response/drawable-helper.js.map +1 -1
  22. package/lib/drawing-response/drawable-line.js +1 -1
  23. package/lib/drawing-response/drawable-line.js.map +1 -1
  24. package/lib/drawing-response/drawable-main.js +2 -2
  25. package/lib/drawing-response/drawable-main.js.map +1 -1
  26. package/lib/drawing-response/drawable-palette.js +1 -1
  27. package/lib/drawing-response/drawable-palette.js.map +1 -1
  28. package/lib/drawing-response/drawable-rectangle.js +1 -1
  29. package/lib/drawing-response/drawable-rectangle.js.map +1 -1
  30. package/lib/drawing-response/drawable-text.js +1 -1
  31. package/lib/drawing-response/drawable-text.js.map +1 -1
  32. package/lib/drawing-response/drawable-transformer.js +1 -1
  33. package/lib/drawing-response/drawable-transformer.js.map +1 -1
  34. package/lib/drawing-response/index.js +1 -1
  35. package/lib/drawing-response/index.js.map +1 -1
  36. package/lib/index.js +1 -1
  37. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -3,6 +3,54 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.9.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response@3.8.3...@pie-element/drawing-response@3.9.1) (2021-11-11)
7
+
8
+ **Note:** Version bump only for package @pie-element/drawing-response
9
+
10
+
11
+
12
+
13
+
14
+ # [3.9.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response@3.7.2...@pie-element/drawing-response@3.9.0) (2021-11-11)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * pie-lib updates ([e521c2f](https://github.com/pie-framework/pie-elements/commit/e521c2f1a44aa7f3e14f82a1cee05ceb484ed0a6))
20
+ * Updated pie-lib versions ([2fe4c5d](https://github.com/pie-framework/pie-elements/commit/2fe4c5d0be2d40f5fdb34815855695a7f1087f56))
21
+ * Updated pie-lib versions ([1c23830](https://github.com/pie-framework/pie-elements/commit/1c23830fc75d1de5f7bb3bb16de3c665ae5fa350))
22
+
23
+
24
+ ### Features
25
+
26
+ * **drawing-response:** set toolbar editor position to bottom ([cac36e9](https://github.com/pie-framework/pie-elements/commit/cac36e96e1113a4843409ebaa6683b415ea1ee4a))
27
+
28
+
29
+
30
+
31
+
32
+
33
+ ## [3.8.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response@3.8.2...@pie-element/drawing-response@3.8.3) (2021-10-04)
34
+
35
+ **Note:** Version bump only for package @pie-element/drawing-response
36
+
37
+
38
+
39
+
40
+
41
+ ## [3.8.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response@3.8.1...@pie-element/drawing-response@3.8.2) (2021-09-20)
42
+
43
+
44
+ ### Bug Fixes
45
+
46
+ * pie-lib updates ([e521c2f](https://github.com/pie-framework/pie-elements/commit/e521c2f1a44aa7f3e14f82a1cee05ceb484ed0a6))
47
+ * Updated pie-lib versions ([2fe4c5d](https://github.com/pie-framework/pie-elements/commit/2fe4c5d0be2d40f5fdb34815855695a7f1087f56))
48
+ * Updated pie-lib versions ([1c23830](https://github.com/pie-framework/pie-elements/commit/1c23830fc75d1de5f7bb3bb16de3c665ae5fa350))
49
+
50
+
51
+
52
+
53
+
6
54
  ## [3.8.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response@3.8.0...@pie-element/drawing-response@3.8.1) (2021-09-01)
7
55
 
8
56
  **Note:** Version bump only for package @pie-element/drawing-response
@@ -3,6 +3,27 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.2.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response-configure@3.2.4...@pie-element/drawing-response-configure@3.2.5) (2021-10-04)
7
+
8
+ **Note:** Version bump only for package @pie-element/drawing-response-configure
9
+
10
+
11
+
12
+
13
+
14
+ ## [3.2.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response-configure@3.2.3...@pie-element/drawing-response-configure@3.2.4) (2021-09-20)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * pie-lib updates ([e521c2f](https://github.com/pie-framework/pie-elements/commit/e521c2f1a44aa7f3e14f82a1cee05ceb484ed0a6))
20
+ * Updated pie-lib versions ([2fe4c5d](https://github.com/pie-framework/pie-elements/commit/2fe4c5d0be2d40f5fdb34815855695a7f1087f56))
21
+ * Updated pie-lib versions ([1c23830](https://github.com/pie-framework/pie-elements/commit/1c23830fc75d1de5f7bb3bb16de3c665ae5fa350))
22
+
23
+
24
+
25
+
26
+
6
27
  ## [3.2.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response-configure@3.2.2...@pie-element/drawing-response-configure@3.2.3) (2021-08-05)
7
28
 
8
29
  **Note:** Version bump only for package @pie-element/drawing-response-configure
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
@@ -33,9 +33,13 @@ var _styles = require("@material-ui/core/styles");
33
33
 
34
34
  var _button = _interopRequireDefault(require("./button"));
35
35
 
36
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
+
38
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
+
36
40
  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); }; }
37
41
 
38
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
42
+ 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; } }
39
43
 
40
44
  var isImage = function isImage(file) {
41
45
  var imageType = /image.*/;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/image-container.jsx"],"names":["isImage","file","imageType","type","match","ImageContainer","props","onImageUpload","reader","FileReader","onloadend","result","readAsDataURL","e","preventDefault","target","files","handleFileRead","setState","dropzoneActive","dataTransfer","items","kind","getAsFile","makeDropzoneInactive","state","makeDropzoneActive","dragEnabled","input","click","offsetHeight","offsetWidth","onUpdateImageDimension","resizeHandle","resize","dimensions","height","width","addEventListener","initialiseResize","window","startResizing","stopResizing","handleEnableDrag","removeEventListener","box","image","maxImageWidth","bounds","getBoundingClientRect","x","clientX","left","y","clientY","top","fitsContainer","hasMinimumWidth","style","handleDisableDrag","maxImageHeight","imageSection","positionInfo","label","classes","handleInputClick","handleUploadImage","ref","imageUrl","base","boxActive","onDragExit","handleOnDragExit","onDragLeave","onDragOver","handleOnDragOver","onDrop","handleOnDrop","toolbar","renderUploadControl","drawableHeight","imageContainer","handleOnImageLoad","maxWidth","maxHeight","centered","Component","styles","theme","marginTop","spacing","unit","border","borderRadius","alignItems","display","flexDirection","justifyContent","minHeight","position","borderBottom","borderRight","bottom","cursor","right","backgroundColor","borderTopLeftRadius","borderTopRightRadius","padding","propTypes","PropTypes","object","isRequired","string","func"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport Button from './button';\n\nconst isImage = (file) => {\n const imageType = /image.*/;\n return file.type.match(imageType);\n};\n\nexport class ImageContainer extends Component {\n constructor(props) {\n super(props);\n this.state = {\n maxImageWidth: 0,\n maxImageHeight: 0,\n dragEnabled: true,\n dropzoneActive: false,\n }\n }\n\n componentDidMount() {\n if (this.imageSection) {\n const positionInfo = this.imageSection.getBoundingClientRect();\n const { height, width } = positionInfo;\n this.setState({\n maxImageWidth: width,\n maxImageHeight: height\n });\n }\n }\n\n handleFileRead = (file) => {\n const { onImageUpload } = this.props;\n const reader = new FileReader();\n reader.onloadend = () => {\n onImageUpload(reader.result);\n };\n reader.readAsDataURL(file);\n };\n\n handleUploadImage = (e) => {\n e.preventDefault();\n const file = e.target.files[0];\n this.handleFileRead(file);\n };\n\n makeDropzoneActive= () => this.setState({ dropzoneActive: true });\n\n makeDropzoneInactive = () => this.setState({ dropzoneActive: false });\n\n handleOnDrop = (e) => {\n e.preventDefault();\n const { items, files } = e.dataTransfer;\n\n if (items && items[0].kind === 'file') {\n const file = items[0].getAsFile();\n if (isImage(file)) {\n this.handleFileRead(file);\n }\n } else if (isImage(files[0])) {\n this.handleFileRead(files[0]);\n }\n\n this.makeDropzoneInactive();\n };\n\n handleOnDragOver = (e) => {\n e.preventDefault();\n const { dropzoneActive } = this.state;\n\n if (!dropzoneActive) {\n this.makeDropzoneActive();\n }\n };\n\n handleOnDragExit = (e) => {\n e.preventDefault();\n this.makeDropzoneInactive();\n };\n\n handleEnableDrag = () => this.setState({ dragEnabled: true });\n handleDisableDrag = () => this.setState({ dragEnabled: false });\n handleInputClick = () => this.input.click();\n\n handleOnImageLoad = ({ target: { offsetHeight, offsetWidth } }) => {\n const { onUpdateImageDimension } = this.props;\n const resizeHandle = this.resize;\n\n const dimensions = {\n height: offsetHeight,\n width: offsetWidth\n };\n\n this.setState({ dimensions });\n onUpdateImageDimension(dimensions);\n\n resizeHandle.addEventListener('mousedown', this.initialiseResize, false);\n };\n\n initialiseResize = () => {\n window.addEventListener('mousemove', this.startResizing, false);\n window.addEventListener('mouseup', this.stopResizing, false);\n };\n\n stopResizing = () => {\n const { onUpdateImageDimension } = this.props;\n const { dimensions } = this.state;\n\n this.handleEnableDrag();\n onUpdateImageDimension(dimensions);\n\n window.removeEventListener('mousemove', this.startResizing, false);\n window.removeEventListener('mouseup', this.stopResizing, false);\n };\n\n startResizing = (e) => {\n const box = this.image;\n const { maxImageWidth } = this.state;\n\n const bounds = e.target.getBoundingClientRect();\n const x = e.clientX - bounds.left;\n const y = e.clientY - bounds.top;\n\n const fitsContainer = x <= maxImageWidth + 5;\n const hasMinimumWidth = x > 150 && y > 150;\n\n if (fitsContainer && hasMinimumWidth) {\n box.style.width = `${x}px`;\n box.style.height = `${y}px`;\n\n this.setState({ dimensions: { height: y, width: x }});\n }\n\n this.handleDisableDrag();\n };\n\n renderUploadControl(label) {\n const { classes } = this.props;\n\n return (\n <div>\n <Button\n label={label}\n onClick={this.handleInputClick}\n />\n <input\n accept=\"image/*\"\n className={classes.input}\n onChange={this.handleUploadImage}\n ref={ref => { this.input = ref; }}\n type=\"file\"\n />\n </div>\n )\n }\n\n render() {\n const {\n classes,\n imageUrl\n } = this.props;\n const {\n dropzoneActive,\n dragEnabled,\n maxImageHeight,\n maxImageWidth\n } = this.state;\n\n return (\n <div className={classes.base} >\n <div className={`${classes.box} ${dropzoneActive ? classes.boxActive : ''}`}\n {...dragEnabled ? {\n onDragExit: this.handleOnDragExit,\n onDragLeave: this.handleOnDragExit,\n onDragOver: this.handleOnDragOver ,\n onDrop: this.handleOnDrop\n } : {}}\n >\n <div className={classes.toolbar}>\n {this.renderUploadControl(imageUrl ? 'Replace Image' : 'Upload Image')}\n </div>\n\n <div ref={ref => { this.imageSection = ref; }} className={classes.drawableHeight}>\n {imageUrl ? (\n <div className={classes.imageContainer}>\n <img\n className={classes.image}\n height=\"auto\"\n onLoad={this.handleOnImageLoad}\n ref={ref => { this.image = ref; }}\n src={imageUrl}\n style={{ maxWidth: maxImageWidth, maxHeight: maxImageHeight }}\n alt=''\n />\n <div ref={ref => { this.resize = ref; }} className={classes.resize} />\n </div>\n ) : (\n <div className={`${classes.drawableHeight} ${classes.centered}`}>\n <label>Drag and drop or upload image from computer</label>\n <br />\n {this.renderUploadControl('Upload Image')}\n </div>\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n base: {\n marginTop: theme.spacing.unit * 2\n },\n box: {\n border: '1px solid #E0E1E6',\n borderRadius: '5px'\n },\n boxActive: {\n border: '1px solid #0032C2'\n },\n centered: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center'\n },\n drawableHeight: {\n minHeight: 350\n },\n image: {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center',\n },\n imageContainer: {\n position: 'relative',\n width: 'fit-content'\n },\n resize: {\n borderBottom: '1px solid #727272',\n borderRight: '1px solid #727272',\n bottom: '-10px',\n cursor: 'se-resize',\n height: '10px',\n position: 'absolute',\n right: '-10px',\n width: '10px'\n },\n input: {\n display: 'none'\n },\n toolbar: {\n backgroundColor: '#ECEDF1',\n borderBottom: '1px solid #E0E1E6',\n borderTopLeftRadius: '5px',\n borderTopRightRadius: '5px',\n display: 'flex',\n padding: '12px 8px'\n }\n});\n\nImageContainer.propTypes = {\n classes: PropTypes.object.isRequired,\n imageUrl: PropTypes.string.isRequired,\n onImageUpload: PropTypes.func.isRequired,\n onUpdateImageDimension: PropTypes.func.isRequired\n};\n\nexport default withStyles(styles)(ImageContainer);\n"],"file":"image-container.js"}
1
+ {"version":3,"sources":["../src/image-container.jsx"],"names":["isImage","file","imageType","type","match","ImageContainer","props","onImageUpload","reader","FileReader","onloadend","result","readAsDataURL","e","preventDefault","target","files","handleFileRead","setState","dropzoneActive","dataTransfer","items","kind","getAsFile","makeDropzoneInactive","state","makeDropzoneActive","dragEnabled","input","click","offsetHeight","offsetWidth","onUpdateImageDimension","resizeHandle","resize","dimensions","height","width","addEventListener","initialiseResize","window","startResizing","stopResizing","handleEnableDrag","removeEventListener","box","image","maxImageWidth","bounds","getBoundingClientRect","x","clientX","left","y","clientY","top","fitsContainer","hasMinimumWidth","style","handleDisableDrag","maxImageHeight","imageSection","positionInfo","label","classes","handleInputClick","handleUploadImage","ref","imageUrl","base","boxActive","onDragExit","handleOnDragExit","onDragLeave","onDragOver","handleOnDragOver","onDrop","handleOnDrop","toolbar","renderUploadControl","drawableHeight","imageContainer","handleOnImageLoad","maxWidth","maxHeight","centered","Component","styles","theme","marginTop","spacing","unit","border","borderRadius","alignItems","display","flexDirection","justifyContent","minHeight","position","borderBottom","borderRight","bottom","cursor","right","backgroundColor","borderTopLeftRadius","borderTopRightRadius","padding","propTypes","PropTypes","object","isRequired","string","func"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport Button from './button';\n\nconst isImage = (file) => {\n const imageType = /image.*/;\n return file.type.match(imageType);\n};\n\nexport class ImageContainer extends Component {\n constructor(props) {\n super(props);\n this.state = {\n maxImageWidth: 0,\n maxImageHeight: 0,\n dragEnabled: true,\n dropzoneActive: false,\n }\n }\n\n componentDidMount() {\n if (this.imageSection) {\n const positionInfo = this.imageSection.getBoundingClientRect();\n const { height, width } = positionInfo;\n this.setState({\n maxImageWidth: width,\n maxImageHeight: height\n });\n }\n }\n\n handleFileRead = (file) => {\n const { onImageUpload } = this.props;\n const reader = new FileReader();\n reader.onloadend = () => {\n onImageUpload(reader.result);\n };\n reader.readAsDataURL(file);\n };\n\n handleUploadImage = (e) => {\n e.preventDefault();\n const file = e.target.files[0];\n this.handleFileRead(file);\n };\n\n makeDropzoneActive= () => this.setState({ dropzoneActive: true });\n\n makeDropzoneInactive = () => this.setState({ dropzoneActive: false });\n\n handleOnDrop = (e) => {\n e.preventDefault();\n const { items, files } = e.dataTransfer;\n\n if (items && items[0].kind === 'file') {\n const file = items[0].getAsFile();\n if (isImage(file)) {\n this.handleFileRead(file);\n }\n } else if (isImage(files[0])) {\n this.handleFileRead(files[0]);\n }\n\n this.makeDropzoneInactive();\n };\n\n handleOnDragOver = (e) => {\n e.preventDefault();\n const { dropzoneActive } = this.state;\n\n if (!dropzoneActive) {\n this.makeDropzoneActive();\n }\n };\n\n handleOnDragExit = (e) => {\n e.preventDefault();\n this.makeDropzoneInactive();\n };\n\n handleEnableDrag = () => this.setState({ dragEnabled: true });\n handleDisableDrag = () => this.setState({ dragEnabled: false });\n handleInputClick = () => this.input.click();\n\n handleOnImageLoad = ({ target: { offsetHeight, offsetWidth } }) => {\n const { onUpdateImageDimension } = this.props;\n const resizeHandle = this.resize;\n\n const dimensions = {\n height: offsetHeight,\n width: offsetWidth\n };\n\n this.setState({ dimensions });\n onUpdateImageDimension(dimensions);\n\n resizeHandle.addEventListener('mousedown', this.initialiseResize, false);\n };\n\n initialiseResize = () => {\n window.addEventListener('mousemove', this.startResizing, false);\n window.addEventListener('mouseup', this.stopResizing, false);\n };\n\n stopResizing = () => {\n const { onUpdateImageDimension } = this.props;\n const { dimensions } = this.state;\n\n this.handleEnableDrag();\n onUpdateImageDimension(dimensions);\n\n window.removeEventListener('mousemove', this.startResizing, false);\n window.removeEventListener('mouseup', this.stopResizing, false);\n };\n\n startResizing = (e) => {\n const box = this.image;\n const { maxImageWidth } = this.state;\n\n const bounds = e.target.getBoundingClientRect();\n const x = e.clientX - bounds.left;\n const y = e.clientY - bounds.top;\n\n const fitsContainer = x <= maxImageWidth + 5;\n const hasMinimumWidth = x > 150 && y > 150;\n\n if (fitsContainer && hasMinimumWidth) {\n box.style.width = `${x}px`;\n box.style.height = `${y}px`;\n\n this.setState({ dimensions: { height: y, width: x }});\n }\n\n this.handleDisableDrag();\n };\n\n renderUploadControl(label) {\n const { classes } = this.props;\n\n return (\n <div>\n <Button\n label={label}\n onClick={this.handleInputClick}\n />\n <input\n accept=\"image/*\"\n className={classes.input}\n onChange={this.handleUploadImage}\n ref={ref => { this.input = ref; }}\n type=\"file\"\n />\n </div>\n )\n }\n\n render() {\n const {\n classes,\n imageUrl\n } = this.props;\n const {\n dropzoneActive,\n dragEnabled,\n maxImageHeight,\n maxImageWidth\n } = this.state;\n\n return (\n <div className={classes.base} >\n <div className={`${classes.box} ${dropzoneActive ? classes.boxActive : ''}`}\n {...dragEnabled ? {\n onDragExit: this.handleOnDragExit,\n onDragLeave: this.handleOnDragExit,\n onDragOver: this.handleOnDragOver ,\n onDrop: this.handleOnDrop\n } : {}}\n >\n <div className={classes.toolbar}>\n {this.renderUploadControl(imageUrl ? 'Replace Image' : 'Upload Image')}\n </div>\n\n <div ref={ref => { this.imageSection = ref; }} className={classes.drawableHeight}>\n {imageUrl ? (\n <div className={classes.imageContainer}>\n <img\n className={classes.image}\n height=\"auto\"\n onLoad={this.handleOnImageLoad}\n ref={ref => { this.image = ref; }}\n src={imageUrl}\n style={{ maxWidth: maxImageWidth, maxHeight: maxImageHeight }}\n alt=''\n />\n <div ref={ref => { this.resize = ref; }} className={classes.resize} />\n </div>\n ) : (\n <div className={`${classes.drawableHeight} ${classes.centered}`}>\n <label>Drag and drop or upload image from computer</label>\n <br />\n {this.renderUploadControl('Upload Image')}\n </div>\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n base: {\n marginTop: theme.spacing.unit * 2\n },\n box: {\n border: '1px solid #E0E1E6',\n borderRadius: '5px'\n },\n boxActive: {\n border: '1px solid #0032C2'\n },\n centered: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center'\n },\n drawableHeight: {\n minHeight: 350\n },\n image: {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center',\n },\n imageContainer: {\n position: 'relative',\n width: 'fit-content'\n },\n resize: {\n borderBottom: '1px solid #727272',\n borderRight: '1px solid #727272',\n bottom: '-10px',\n cursor: 'se-resize',\n height: '10px',\n position: 'absolute',\n right: '-10px',\n width: '10px'\n },\n input: {\n display: 'none'\n },\n toolbar: {\n backgroundColor: '#ECEDF1',\n borderBottom: '1px solid #E0E1E6',\n borderTopLeftRadius: '5px',\n borderTopRightRadius: '5px',\n display: 'flex',\n padding: '12px 8px'\n }\n});\n\nImageContainer.propTypes = {\n classes: PropTypes.object.isRequired,\n imageUrl: PropTypes.string.isRequired,\n onImageUpload: PropTypes.func.isRequired,\n onUpdateImageDimension: PropTypes.func.isRequired\n};\n\nexport default withStyles(styles)(ImageContainer);\n"],"file":"image-container.js"}
@@ -35,13 +35,13 @@ var _root = _interopRequireDefault(require("./root"));
35
35
 
36
36
  var _defaults = _interopRequireDefault(require("./defaults"));
37
37
 
38
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
38
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
39
39
 
40
40
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
41
41
 
42
42
  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); }; }
43
43
 
44
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
44
+ 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; } }
45
45
 
46
46
  var log = (0, _debug["default"])('hotspot:configure');
47
47
 
@@ -37,13 +37,13 @@ var _imageContainer = _interopRequireDefault(require("./image-container"));
37
37
 
38
38
  var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
39
39
 
40
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
40
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
41
41
 
42
42
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
43
43
 
44
44
  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); }; }
45
45
 
46
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
46
+ 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; } }
47
47
 
48
48
  var Panel = _configUi.settings.Panel,
49
49
  toggle = _configUi.settings.toggle;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/root.jsx"],"names":["Panel","settings","toggle","Root","prompt","props","model","onModelChanged","update","teacherInstructions","dimensions","imageDimensions","imageUrl","classes","configuration","imageSupport","onConfigurationChanged","backgroundImage","teacherInstructionsEnabled","promptEnabled","toolbarOpts","toolbarEditorPosition","position","base","Settings","label","Properties","regular","onTeacherInstructionsChanged","onPromptChanged","enabled","onUpdateImageDimension","onImageUpload","React","Component","styles","theme","marginTop","spacing","unit","paddingTop","width","marginBottom","propTypes","PropTypes","object","isRequired","shape","add","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { settings, layout, InputContainer } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport EditableHtml from '@pie-lib/editable-html';\nimport Typography from '@material-ui/core/Typography';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport ImageContainer from './image-container';\nimport cloneDeep from 'lodash/cloneDeep';\n\nconst { Panel, toggle } = settings;\n\nexport class Root extends React.Component {\n onPromptChanged = prompt => {\n const { model, onModelChanged } = this.props;\n const update = cloneDeep(model);\n\n onModelChanged({\n ...update,\n prompt\n });\n };\n\n onTeacherInstructionsChanged = teacherInstructions => {\n const { model, onModelChanged } = this.props;\n\n onModelChanged({\n ...model,\n teacherInstructions\n });\n };\n\n onUpdateImageDimension = (dimensions) => {\n const { model, onModelChanged } = this.props;\n\n onModelChanged({\n ...model,\n imageDimensions: dimensions\n });\n };\n\n onImageUpload = imageUrl => {\n const { model, onModelChanged } = this.props;\n\n onModelChanged({\n ...model,\n imageUrl\n });\n };\n\n render() {\n const {\n classes,\n configuration,\n model,\n imageSupport,\n onConfigurationChanged,\n onModelChanged\n } = this.props;\n const { backgroundImage = {}, prompt = {}, teacherInstructions = {} } =\n configuration || {};\n const { teacherInstructionsEnabled, promptEnabled } =\n model || {};\n const toolbarOpts = {};\n\n switch (model.toolbarEditorPosition) {\n case 'top':\n toolbarOpts.position = 'top';\n break;\n default:\n toolbarOpts.position = 'bottom';\n break;\n }\n\n return (\n <div className={classes.base}>\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n onChangeModel={onModelChanged}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: {\n 'backgroundImage.enabled':\n backgroundImage.settings &&\n toggle(backgroundImage.label, true),\n promptEnabled: prompt.settings && toggle(prompt.label)\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label)\n }\n }}\n />\n }\n >\n <div className={classes.regular}>\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.prompt}\n >\n <EditableHtml\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label=\"Item Stem\" className={classes.prompt}>\n <EditableHtml\n markup={model.prompt}\n onChange={this.onPromptChanged}\n toolbarOpts={toolbarOpts}\n />\n </InputContainer>\n )}\n\n {backgroundImage.enabled && (\n <div>\n <Typography className={classes.label} variant=\"subheading\">\n Define Background Image\n </Typography>\n\n <ImageContainer\n imageUrl={model.imageUrl}\n onUpdateImageDimension={this.onUpdateImageDimension}\n onImageUpload={this.onImageUpload}\n />\n </div>\n )}\n </div>\n </layout.ConfigLayout>\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n base: {\n marginTop: theme.spacing.unit * 3\n },\n label: {\n marginTop: theme.spacing.unit * 4\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%'\n },\n regular: {\n marginBottom: theme.spacing.unit * 3\n }\n});\n\nRoot.propTypes = {\n classes: PropTypes.object.isRequired,\n configuration: PropTypes.object,\n model: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func,\n delete: PropTypes.func\n }),\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n};\n\nexport default withStyles(styles)(Root);\n"],"file":"root.js"}
1
+ {"version":3,"sources":["../src/root.jsx"],"names":["Panel","settings","toggle","Root","prompt","props","model","onModelChanged","update","teacherInstructions","dimensions","imageDimensions","imageUrl","classes","configuration","imageSupport","onConfigurationChanged","backgroundImage","teacherInstructionsEnabled","promptEnabled","toolbarOpts","toolbarEditorPosition","position","base","Settings","label","Properties","regular","onTeacherInstructionsChanged","onPromptChanged","enabled","onUpdateImageDimension","onImageUpload","React","Component","styles","theme","marginTop","spacing","unit","paddingTop","width","marginBottom","propTypes","PropTypes","object","isRequired","shape","add","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { settings, layout, InputContainer } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport EditableHtml from '@pie-lib/editable-html';\nimport Typography from '@material-ui/core/Typography';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport ImageContainer from './image-container';\nimport cloneDeep from 'lodash/cloneDeep';\n\nconst { Panel, toggle } = settings;\n\nexport class Root extends React.Component {\n onPromptChanged = prompt => {\n const { model, onModelChanged } = this.props;\n const update = cloneDeep(model);\n\n onModelChanged({\n ...update,\n prompt\n });\n };\n\n onTeacherInstructionsChanged = teacherInstructions => {\n const { model, onModelChanged } = this.props;\n\n onModelChanged({\n ...model,\n teacherInstructions\n });\n };\n\n onUpdateImageDimension = (dimensions) => {\n const { model, onModelChanged } = this.props;\n\n onModelChanged({\n ...model,\n imageDimensions: dimensions\n });\n };\n\n onImageUpload = imageUrl => {\n const { model, onModelChanged } = this.props;\n\n onModelChanged({\n ...model,\n imageUrl\n });\n };\n\n render() {\n const {\n classes,\n configuration,\n model,\n imageSupport,\n onConfigurationChanged,\n onModelChanged\n } = this.props;\n const { backgroundImage = {}, prompt = {}, teacherInstructions = {} } =\n configuration || {};\n const { teacherInstructionsEnabled, promptEnabled } =\n model || {};\n const toolbarOpts = {};\n\n switch (model.toolbarEditorPosition) {\n case 'top':\n toolbarOpts.position = 'top';\n break;\n default:\n toolbarOpts.position = 'bottom';\n break;\n }\n\n return (\n <div className={classes.base}>\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n onChangeModel={onModelChanged}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: {\n 'backgroundImage.enabled':\n backgroundImage.settings &&\n toggle(backgroundImage.label, true),\n promptEnabled: prompt.settings && toggle(prompt.label)\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label)\n }\n }}\n />\n }\n >\n <div className={classes.regular}>\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.prompt}\n >\n <EditableHtml\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label=\"Item Stem\" className={classes.prompt}>\n <EditableHtml\n markup={model.prompt}\n onChange={this.onPromptChanged}\n toolbarOpts={toolbarOpts}\n />\n </InputContainer>\n )}\n\n {backgroundImage.enabled && (\n <div>\n <Typography className={classes.label} variant=\"subheading\">\n Define Background Image\n </Typography>\n\n <ImageContainer\n imageUrl={model.imageUrl}\n onUpdateImageDimension={this.onUpdateImageDimension}\n onImageUpload={this.onImageUpload}\n />\n </div>\n )}\n </div>\n </layout.ConfigLayout>\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n base: {\n marginTop: theme.spacing.unit * 3\n },\n label: {\n marginTop: theme.spacing.unit * 4\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%'\n },\n regular: {\n marginBottom: theme.spacing.unit * 3\n }\n});\n\nRoot.propTypes = {\n classes: PropTypes.object.isRequired,\n configuration: PropTypes.object,\n model: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func,\n delete: PropTypes.func\n }),\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n};\n\nexport default withStyles(styles)(Root);\n"],"file":"root.js"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/drawing-response-configure",
3
3
  "private": true,
4
- "version": "3.2.3",
4
+ "version": "3.2.5",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -9,8 +9,8 @@
9
9
  "dependencies": {
10
10
  "@material-ui/core": "^3.9.2",
11
11
  "@pie-framework/pie-configure-events": "^1.2.0",
12
- "@pie-lib/config-ui": "^10.10.2",
13
- "@pie-lib/editable-html": "^7.17.2",
12
+ "@pie-lib/config-ui": "^10.10.11",
13
+ "@pie-lib/editable-html": "^7.17.11",
14
14
  "classnames": "^2.2.6",
15
15
  "debug": "^3.1.0",
16
16
  "lodash": "^4.17.15",
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.2.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response-controller@3.2.2...@pie-element/drawing-response-controller@3.2.4) (2021-11-11)
7
+
8
+ **Note:** Version bump only for package @pie-element/drawing-response-controller
9
+
10
+
11
+
12
+
13
+
14
+ ## [3.2.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response-controller@3.2.2...@pie-element/drawing-response-controller@3.2.3) (2021-11-11)
15
+
16
+ **Note:** Version bump only for package @pie-element/drawing-response-controller
17
+
18
+
19
+
20
+
21
+
6
22
  ## [3.2.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response-controller@3.2.0...@pie-element/drawing-response-controller@3.2.2) (2021-08-05)
7
23
 
8
24
 
@@ -15,7 +15,7 @@ var _debug = _interopRequireDefault(require("debug"));
15
15
 
16
16
  var _defaults = _interopRequireDefault(require("./defaults"));
17
17
 
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
19
19
 
20
20
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
21
21
 
@@ -65,9 +65,7 @@ var createDefaultModel = function createDefaultModel() {
65
65
 
66
66
  exports.createDefaultModel = createDefaultModel;
67
67
 
68
- function outcome()
69
- /*config, session*/
70
- {
68
+ function outcome() {
71
69
  return new Promise(function (resolve) {
72
70
  log('outcome...');
73
71
  resolve({
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["log","normalize","question","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","model","session","env","normalizedQuestion","imageUrl","imageDimensions","prompt","Promise","resolve","out","disabled","mode","role","teacherInstructions","createDefaultModel","defaults","outcome","score","completed","note"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,0CAAN,CAAZ;;AAEO,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAAAC,QAAQ;AAAA;AAC/BC,IAAAA,aAAa,EAAE,IADgB;AAE/BC,IAAAA,0BAA0B,EAAE,IAFG;AAG/BC,IAAAA,0BAA0B,EAAE;AAHG,KAI5BH,QAJ4B;AAAA,CAA1B;;;;AAOA,SAASI,KAAT,CAAeJ,QAAf,EAAyBK,OAAzB,EAAkCC,GAAlC,EAAuC;AAC5C,MAAMC,kBAAkB,GAAGR,SAAS,CAACC,QAAD,CAApC;AAD4C,MAG1CQ,QAH0C,GAOxCD,kBAPwC,CAG1CC,QAH0C;AAAA,MAI1CC,eAJ0C,GAOxCF,kBAPwC,CAI1CE,eAJ0C;AAAA,MAK1CC,MAL0C,GAOxCH,kBAPwC,CAK1CG,MAL0C;AAAA,MAM1CT,aAN0C,GAOxCM,kBAPwC,CAM1CN,aAN0C;AAS5C,SAAO,IAAIU,OAAJ,CAAY,UAAAC,OAAO,EAAI;AAC5B,QAAMC,GAAG,GAAG;AACVC,MAAAA,QAAQ,EAAER,GAAG,CAACS,IAAJ,KAAa,QADb;AAEVA,MAAAA,IAAI,EAAET,GAAG,CAACS,IAFA;AAGVN,MAAAA,eAAe,EAAfA,eAHU;AAIVD,MAAAA,QAAQ,EAARA,QAJU;AAKVE,MAAAA,MAAM,EAAET,aAAa,GAAGS,MAAH,GAAY;AALvB,KAAZ;;AAQA,QAAIJ,GAAG,CAACU,IAAJ,KAAa,YAAb,KAA8BV,GAAG,CAACS,IAAJ,KAAa,MAAb,IAAuBT,GAAG,CAACS,IAAJ,KAAa,UAAlE,CAAJ,EAAmF;AACjFF,MAAAA,GAAG,CAACI,mBAAJ,GAA0BV,kBAAkB,CAACL,0BAAnB,GAAgDK,kBAAkB,CAACU,mBAAnE,GAAyF,IAAnH;AACD,KAFD,MAEO;AACLJ,MAAAA,GAAG,CAACI,mBAAJ,GAA0B,IAA1B;AACD;;AAEDL,IAAAA,OAAO,CAACC,GAAD,CAAP;AACD,GAhBM,CAAP;AAiBD;;AAEM,IAAMK,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,MAACd,KAAD,uEAAS,EAAT;AAAA,SAChC,IAAIO,OAAJ,CAAY,UAAAC,OAAO,EAAI;AACrBA,IAAAA,OAAO,iCACFO,oBADE,GAEFf,KAFE,EAAP;AAID,GALD,CADgC;AAAA,CAA3B;;;;AAQA,SAASgB,OAAT;AAAiB;AAAqB;AAC3C,SAAO,IAAIT,OAAJ,CAAY,UAAAC,OAAO,EAAI;AAC5Bd,IAAAA,GAAG,CAAC,YAAD,CAAH;AACAc,IAAAA,OAAO,CAAC;AACNS,MAAAA,KAAK,EAAE,CADD;AAENC,MAAAA,SAAS,EAAE,KAFL;AAGNC,MAAAA,IAAI,EAAE;AAHA,KAAD,CAAP;AAKD,GAPM,CAAP;AAQD","sourcesContent":["import debug from 'debug';\nimport defaults from './defaults';\n\nconst log = debug('pie-elements:drawing-response:controller');\n\nexport const normalize = question => ({\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n ...question,\n});\n\nexport function model(question, session, env) {\n const normalizedQuestion = normalize(question);\n const {\n imageUrl,\n imageDimensions,\n prompt,\n promptEnabled\n } = normalizedQuestion;\n\n return new Promise(resolve => {\n const out = {\n disabled: env.mode !== 'gather',\n mode: env.mode,\n imageDimensions,\n imageUrl,\n prompt: promptEnabled ? prompt : null,\n };\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;\n } else {\n out.teacherInstructions = null;\n }\n\n resolve(out);\n });\n}\n\nexport const createDefaultModel = (model = {}) =>\n new Promise(resolve => {\n resolve({\n ...defaults,\n ...model,\n })\n });\n\nexport function outcome(/*config, session*/) {\n return new Promise(resolve => {\n log('outcome...');\n resolve({\n score: 0,\n completed: 'n/a',\n note: 'Requires manual scoring'\n });\n });\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["log","normalize","question","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","model","session","env","normalizedQuestion","imageUrl","imageDimensions","prompt","Promise","resolve","out","disabled","mode","role","teacherInstructions","createDefaultModel","defaults","outcome","score","completed","note"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,0CAAN,CAAZ;;AAEO,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAAAC,QAAQ;AAAA;AAC/BC,IAAAA,aAAa,EAAE,IADgB;AAE/BC,IAAAA,0BAA0B,EAAE,IAFG;AAG/BC,IAAAA,0BAA0B,EAAE;AAHG,KAI5BH,QAJ4B;AAAA,CAA1B;;;;AAOA,SAASI,KAAT,CAAeJ,QAAf,EAAyBK,OAAzB,EAAkCC,GAAlC,EAAuC;AAC5C,MAAMC,kBAAkB,GAAGR,SAAS,CAACC,QAAD,CAApC;AACA,MACEQ,QADF,GAKID,kBALJ,CACEC,QADF;AAAA,MAEEC,eAFF,GAKIF,kBALJ,CAEEE,eAFF;AAAA,MAGEC,MAHF,GAKIH,kBALJ,CAGEG,MAHF;AAAA,MAIET,aAJF,GAKIM,kBALJ,CAIEN,aAJF;AAOA,SAAO,IAAIU,OAAJ,CAAY,UAAAC,OAAO,EAAI;AAC5B,QAAMC,GAAG,GAAG;AACVC,MAAAA,QAAQ,EAAER,GAAG,CAACS,IAAJ,KAAa,QADb;AAEVA,MAAAA,IAAI,EAAET,GAAG,CAACS,IAFA;AAGVN,MAAAA,eAAe,EAAfA,eAHU;AAIVD,MAAAA,QAAQ,EAARA,QAJU;AAKVE,MAAAA,MAAM,EAAET,aAAa,GAAGS,MAAH,GAAY;AALvB,KAAZ;;AAQA,QAAIJ,GAAG,CAACU,IAAJ,KAAa,YAAb,KAA8BV,GAAG,CAACS,IAAJ,KAAa,MAAb,IAAuBT,GAAG,CAACS,IAAJ,KAAa,UAAlE,CAAJ,EAAmF;AACjFF,MAAAA,GAAG,CAACI,mBAAJ,GAA0BV,kBAAkB,CAACL,0BAAnB,GAAgDK,kBAAkB,CAACU,mBAAnE,GAAyF,IAAnH;AACD,KAFD,MAEO;AACLJ,MAAAA,GAAG,CAACI,mBAAJ,GAA0B,IAA1B;AACD;;AAEDL,IAAAA,OAAO,CAACC,GAAD,CAAP;AACD,GAhBM,CAAP;AAiBD;;AAEM,IAAMK,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,MAACd,KAAD,uEAAS,EAAT;AAAA,SAChC,IAAIO,OAAJ,CAAY,UAAAC,OAAO,EAAI;AACrBA,IAAAA,OAAO,iCACFO,oBADE,GAEFf,KAFE,EAAP;AAID,GALD,CADgC;AAAA,CAA3B;;;;AAQA,SAASgB,OAAT,GAAsC;AAC3C,SAAO,IAAIT,OAAJ,CAAY,UAAAC,OAAO,EAAI;AAC5Bd,IAAAA,GAAG,CAAC,YAAD,CAAH;AACAc,IAAAA,OAAO,CAAC;AACNS,MAAAA,KAAK,EAAE,CADD;AAENC,MAAAA,SAAS,EAAE,KAFL;AAGNC,MAAAA,IAAI,EAAE;AAHA,KAAD,CAAP;AAKD,GAPM,CAAP;AAQD","sourcesContent":["import debug from 'debug';\nimport defaults from './defaults';\n\nconst log = debug('pie-elements:drawing-response:controller');\n\nexport const normalize = question => ({\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n ...question,\n});\n\nexport function model(question, session, env) {\n const normalizedQuestion = normalize(question);\n const {\n imageUrl,\n imageDimensions,\n prompt,\n promptEnabled\n } = normalizedQuestion;\n\n return new Promise(resolve => {\n const out = {\n disabled: env.mode !== 'gather',\n mode: env.mode,\n imageDimensions,\n imageUrl,\n prompt: promptEnabled ? prompt : null,\n };\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;\n } else {\n out.teacherInstructions = null;\n }\n\n resolve(out);\n });\n}\n\nexport const createDefaultModel = (model = {}) =>\n new Promise(resolve => {\n resolve({\n ...defaults,\n ...model,\n })\n });\n\nexport function outcome(/*config, session*/) {\n return new Promise(resolve => {\n log('outcome...');\n resolve({\n score: 0,\n completed: 'n/a',\n note: 'Requires manual scoring'\n });\n });\n}\n"],"file":"index.js"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/drawing-response-controller",
3
3
  "private": true,
4
- "version": "3.2.2",
4
+ "version": "3.2.4",
5
5
  "description": "",
6
6
  "scripts": {
7
7
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
@@ -43,9 +43,13 @@ var _drawableText = _interopRequireDefault(require("./drawable-text"));
43
43
 
44
44
  var _icon = _interopRequireDefault(require("./icon"));
45
45
 
46
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
47
+
48
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
49
+
46
50
  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); }; }
47
51
 
48
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
52
+ 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; } }
49
53
 
50
54
  var TOOLS = _constants["default"].tools;
51
55
  var ROGVAIV = ['red', 'orange', 'yellow', 'violet', 'blue', 'green', 'white', 'black'].map(function (c) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/drawing-response/container.jsx"],"names":["TOOLS","constants","tools","ROGVAIV","map","c","value","label","Container","props","type","disabled","toolActive","state","TextEntry","DrawableText","drawableDimensions","height","width","fillColor","fillColorList","outlineColor","outlineColorList","paintColor","paintColorList","checkExist","setInterval","drawable","getBoundingClientRect","setState","e","console","warn","clearInterval","setDimensions","removeEventListeners","tool","addNewTextEntry","updatedAt","Date","color","cType","classes","imageUrl","imageDimensions","onSessionChange","session","base","handleColorChange","box","toolbar","icon","checkIfToolIsDisabled","handleMakeToolActive","drawableHeight","Component","PropTypes","object","isRequired","bool","func","string","styles","theme","marginTop","spacing","unit","border","borderRadius","minHeight","backgroundColor","borderBottom","borderTopLeftRadius","borderTopRightRadius","display","justifyContent","padding"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport constants from './constants';\nimport Button from './button';\nimport DrawablePalette from './drawable-palette';\nimport DrawableMain from './drawable-main';\nimport DrawableText from './drawable-text';\nimport Icon from './icon';\n\nconst { tools: TOOLS } = constants;\n\nconst ROGVAIV = [\n 'red',\n 'orange',\n 'yellow',\n 'violet',\n 'blue',\n 'green',\n 'white',\n 'black'\n].map(c => ({ value: c, label: c }));\n\nexport class Container extends Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n session: PropTypes.object.isRequired,\n onSessionChange: PropTypes.func.isRequired,\n imageDimensions: PropTypes.object.isRequired,\n imageUrl: PropTypes.string.isRequired\n };\n\n constructor(props) {\n super(props);\n const TextEntry = new DrawableText();\n\n this.state = {\n drawableDimensions: {\n height: 0,\n width: 0\n },\n toolActive: TOOLS[0],\n fillColor: 'white',\n fillColorList: [\n { value: 'transparent', label: 'no fill' },\n { value: 'lightblue', label: 'lightblue' },\n { value: 'lightyellow', label: 'lightyellow' },\n ...ROGVAIV\n ],\n outlineColor: 'black',\n outlineColorList: ROGVAIV,\n paintColor: 'red',\n paintColorList: ROGVAIV,\n TextEntry\n };\n }\n\n setDimensions() {\n const checkExist = setInterval(() => {\n try {\n const { height, width } = this.drawable.getBoundingClientRect();\n if (height !== 0 && width !== 0) {\n this.setState({\n drawableDimensions: {\n height,\n width\n }\n });\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('setDimensions Error: ', e);\n } finally {\n clearInterval(checkExist);\n }\n }, 100);\n }\n\n componentDidMount() {\n this.setDimensions();\n }\n\n componentWillUnmount() {\n const { TextEntry } = this.state;\n\n TextEntry.removeEventListeners();\n }\n\n handleMakeToolActive(tool) {\n const { TextEntry } = this.state;\n const { type } = tool;\n\n if (type !== 'Text') {\n this.setState({\n toolActive: tool\n });\n } else {\n TextEntry.addNewTextEntry();\n // Force update\n this.setState({\n updatedAt: new Date()\n });\n }\n }\n\n checkIfToolIsDisabled = type => {\n if (this.props.disabled) return true;\n\n\n const { toolActive } = this.state;\n // Text will never be disabled since on each \"Text Entry\" click a new text is added\n if (type === 'Text') {\n return false;\n }\n return type === toolActive.type;\n };\n\n handleColorChange(type, color) {\n const cType = `${type}Color`;\n this.setState({\n [cType]: color\n });\n }\n\n render() {\n const {\n classes,\n disabled,\n imageUrl,\n imageDimensions,\n onSessionChange,\n session\n } = this.props;\n const {\n drawableDimensions,\n toolActive,\n fillColor,\n fillColorList,\n outlineColor,\n outlineColorList,\n paintColor,\n paintColorList,\n TextEntry\n } = this.state;\n\n return (\n <div className={classes.base}>\n <DrawablePalette\n fillColor={fillColor}\n fillList={fillColorList}\n outlineColor={outlineColor}\n outlineList={outlineColorList}\n paintColor={paintColor}\n paintList={paintColorList}\n onFillColorChange={color => this.handleColorChange('fill', color)}\n onOutlineColorChange={color =>\n this.handleColorChange('outline', color)\n }\n onPaintColorChange={color => this.handleColorChange('paint', color)}\n />\n\n <div className={classes.box}>\n <div className={classes.toolbar}>\n <div>\n {TOOLS.map(tool => {\n const { type, label, icon } = tool;\n\n return (\n <Button\n title={label}\n key={type}\n disabled={this.checkIfToolIsDisabled(type)}\n onClick={() => this.handleMakeToolActive(tool)}\n label={<Icon path={icon} />}\n />\n );\n })}\n </div>\n </div>\n\n <div\n ref={drawable => {\n this.drawable = drawable;\n }}\n className={classes.drawableHeight}\n >\n <DrawableMain\n session={session}\n disabled={disabled}\n onSessionChange={onSessionChange}\n fillColor={fillColor}\n outlineColor={outlineColor}\n paintColor={paintColor}\n imageUrl={imageUrl}\n drawableDimensions={drawableDimensions}\n imageDimensions={imageDimensions}\n toolActive={toolActive}\n TextEntry={TextEntry}\n />\n </div>\n </div>\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n base: {\n marginTop: theme.spacing.unit * 2\n },\n box: {\n border: '1px solid #E0E1E6',\n borderRadius: '5px',\n marginTop: theme.spacing.unit * 2\n },\n drawableHeight: {\n minHeight: 350\n },\n toolbar: {\n backgroundColor: '#ECEDF1',\n borderBottom: '1px solid #E0E1E6',\n borderTopLeftRadius: '5px',\n borderTopRightRadius: '5px',\n display: 'flex',\n justifyContent: 'space-between',\n padding: '12px 8px'\n }\n});\n\nexport default withStyles(styles)(Container);\n"],"file":"container.js"}
1
+ {"version":3,"sources":["../../src/drawing-response/container.jsx"],"names":["TOOLS","constants","tools","ROGVAIV","map","c","value","label","Container","props","type","disabled","toolActive","state","TextEntry","DrawableText","drawableDimensions","height","width","fillColor","fillColorList","outlineColor","outlineColorList","paintColor","paintColorList","checkExist","setInterval","drawable","getBoundingClientRect","setState","e","console","warn","clearInterval","setDimensions","removeEventListeners","tool","addNewTextEntry","updatedAt","Date","color","cType","classes","imageUrl","imageDimensions","onSessionChange","session","base","handleColorChange","box","toolbar","icon","checkIfToolIsDisabled","handleMakeToolActive","drawableHeight","Component","PropTypes","object","isRequired","bool","func","string","styles","theme","marginTop","spacing","unit","border","borderRadius","minHeight","backgroundColor","borderBottom","borderTopLeftRadius","borderTopRightRadius","display","justifyContent","padding"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport constants from './constants';\nimport Button from './button';\nimport DrawablePalette from './drawable-palette';\nimport DrawableMain from './drawable-main';\nimport DrawableText from './drawable-text';\nimport Icon from './icon';\n\nconst { tools: TOOLS } = constants;\n\nconst ROGVAIV = [\n 'red',\n 'orange',\n 'yellow',\n 'violet',\n 'blue',\n 'green',\n 'white',\n 'black'\n].map(c => ({ value: c, label: c }));\n\nexport class Container extends Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n session: PropTypes.object.isRequired,\n onSessionChange: PropTypes.func.isRequired,\n imageDimensions: PropTypes.object.isRequired,\n imageUrl: PropTypes.string.isRequired\n };\n\n constructor(props) {\n super(props);\n const TextEntry = new DrawableText();\n\n this.state = {\n drawableDimensions: {\n height: 0,\n width: 0\n },\n toolActive: TOOLS[0],\n fillColor: 'white',\n fillColorList: [\n { value: 'transparent', label: 'no fill' },\n { value: 'lightblue', label: 'lightblue' },\n { value: 'lightyellow', label: 'lightyellow' },\n ...ROGVAIV\n ],\n outlineColor: 'black',\n outlineColorList: ROGVAIV,\n paintColor: 'red',\n paintColorList: ROGVAIV,\n TextEntry\n };\n }\n\n setDimensions() {\n const checkExist = setInterval(() => {\n try {\n const { height, width } = this.drawable.getBoundingClientRect();\n if (height !== 0 && width !== 0) {\n this.setState({\n drawableDimensions: {\n height,\n width\n }\n });\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('setDimensions Error: ', e);\n } finally {\n clearInterval(checkExist);\n }\n }, 100);\n }\n\n componentDidMount() {\n this.setDimensions();\n }\n\n componentWillUnmount() {\n const { TextEntry } = this.state;\n\n TextEntry.removeEventListeners();\n }\n\n handleMakeToolActive(tool) {\n const { TextEntry } = this.state;\n const { type } = tool;\n\n if (type !== 'Text') {\n this.setState({\n toolActive: tool\n });\n } else {\n TextEntry.addNewTextEntry();\n // Force update\n this.setState({\n updatedAt: new Date()\n });\n }\n }\n\n checkIfToolIsDisabled = type => {\n if (this.props.disabled) return true;\n\n\n const { toolActive } = this.state;\n // Text will never be disabled since on each \"Text Entry\" click a new text is added\n if (type === 'Text') {\n return false;\n }\n return type === toolActive.type;\n };\n\n handleColorChange(type, color) {\n const cType = `${type}Color`;\n this.setState({\n [cType]: color\n });\n }\n\n render() {\n const {\n classes,\n disabled,\n imageUrl,\n imageDimensions,\n onSessionChange,\n session\n } = this.props;\n const {\n drawableDimensions,\n toolActive,\n fillColor,\n fillColorList,\n outlineColor,\n outlineColorList,\n paintColor,\n paintColorList,\n TextEntry\n } = this.state;\n\n return (\n <div className={classes.base}>\n <DrawablePalette\n fillColor={fillColor}\n fillList={fillColorList}\n outlineColor={outlineColor}\n outlineList={outlineColorList}\n paintColor={paintColor}\n paintList={paintColorList}\n onFillColorChange={color => this.handleColorChange('fill', color)}\n onOutlineColorChange={color =>\n this.handleColorChange('outline', color)\n }\n onPaintColorChange={color => this.handleColorChange('paint', color)}\n />\n\n <div className={classes.box}>\n <div className={classes.toolbar}>\n <div>\n {TOOLS.map(tool => {\n const { type, label, icon } = tool;\n\n return (\n <Button\n title={label}\n key={type}\n disabled={this.checkIfToolIsDisabled(type)}\n onClick={() => this.handleMakeToolActive(tool)}\n label={<Icon path={icon} />}\n />\n );\n })}\n </div>\n </div>\n\n <div\n ref={drawable => {\n this.drawable = drawable;\n }}\n className={classes.drawableHeight}\n >\n <DrawableMain\n session={session}\n disabled={disabled}\n onSessionChange={onSessionChange}\n fillColor={fillColor}\n outlineColor={outlineColor}\n paintColor={paintColor}\n imageUrl={imageUrl}\n drawableDimensions={drawableDimensions}\n imageDimensions={imageDimensions}\n toolActive={toolActive}\n TextEntry={TextEntry}\n />\n </div>\n </div>\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n base: {\n marginTop: theme.spacing.unit * 2\n },\n box: {\n border: '1px solid #E0E1E6',\n borderRadius: '5px',\n marginTop: theme.spacing.unit * 2\n },\n drawableHeight: {\n minHeight: 350\n },\n toolbar: {\n backgroundColor: '#ECEDF1',\n borderBottom: '1px solid #E0E1E6',\n borderTopLeftRadius: '5px',\n borderTopRightRadius: '5px',\n display: 'flex',\n justifyContent: 'space-between',\n padding: '12px 8px'\n }\n});\n\nexport default withStyles(styles)(Container);\n"],"file":"container.js"}
@@ -29,7 +29,7 @@ var _drawableHelper = _interopRequireDefault(require("./drawable-helper"));
29
29
 
30
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
31
 
32
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
32
+ 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; } }
33
33
 
34
34
  var CircleDrawable = /*#__PURE__*/function (_DrawableHelper) {
35
35
  (0, _inherits2["default"])(CircleDrawable, _DrawableHelper);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/drawing-response/drawable-circle.jsx"],"names":["CircleDrawable","props","TYPE","event","deltaX","startx","target","getX","deltaY","starty","getY","x","y","handleSessionChange","dx","dy","radius","Math","sqrt","paint","paintColor","forceUpdate","draggable","key","onMouseOverElement","onMouseOutElement","fillColor","handleOnClick","handleDragEnd","bind","outlineColor","DrawableHelper"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Circle } from 'react-konva';\n\nimport DrawableHelper from './drawable-helper';\n\nexport default class CircleDrawable extends DrawableHelper {\n static TYPE = 'CircleDrawable';\n constructor(props) {\n super(props, CircleDrawable.TYPE);\n const { startx, starty, x, y } = props;\n\n this.startx = startx;\n this.starty = starty;\n this.x = x || startx;\n this.y = y || starty;\n\n const dx = this.startx - this.x;\n const dy = this.starty - this.y;\n\n this.radius = Math.sqrt(dx * dx + dy * dy);\n }\n\n registerMovement(x, y) {\n this.x = x;\n this.y = y;\n\n const dx = this.startx - this.x;\n const dy = this.starty - this.y;\n\n this.radius = Math.sqrt(dx * dx + dy * dy);\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 const deltaX = this.startx - event.target.getX();\n const deltaY = this.starty - event.target.getY();\n\n this.startx = event.target.getX();\n this.starty = event.target.getY();\n\n this.x = this.x - deltaX;\n this.y = this.y - deltaY;\n\n props.handleSessionChange();\n };\n\n render(props) {\n const { draggable, key, onMouseOverElement, onMouseOutElement } = props;\n\n return (\n <Circle\n key={key}\n draggable={draggable}\n radius={this.radius}\n x={this.startx}\n y={this.starty}\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.outlineColor}\n />\n );\n }\n}\n"],"file":"drawable-circle.js"}
1
+ {"version":3,"sources":["../../src/drawing-response/drawable-circle.jsx"],"names":["CircleDrawable","props","TYPE","event","deltaX","startx","target","getX","deltaY","starty","getY","x","y","handleSessionChange","dx","dy","radius","Math","sqrt","paint","paintColor","forceUpdate","draggable","key","onMouseOverElement","onMouseOutElement","fillColor","handleOnClick","handleDragEnd","bind","outlineColor","DrawableHelper"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Circle } from 'react-konva';\n\nimport DrawableHelper from './drawable-helper';\n\nexport default class CircleDrawable extends DrawableHelper {\n static TYPE = 'CircleDrawable';\n constructor(props) {\n super(props, CircleDrawable.TYPE);\n const { startx, starty, x, y } = props;\n\n this.startx = startx;\n this.starty = starty;\n this.x = x || startx;\n this.y = y || starty;\n\n const dx = this.startx - this.x;\n const dy = this.starty - this.y;\n\n this.radius = Math.sqrt(dx * dx + dy * dy);\n }\n\n registerMovement(x, y) {\n this.x = x;\n this.y = y;\n\n const dx = this.startx - this.x;\n const dy = this.starty - this.y;\n\n this.radius = Math.sqrt(dx * dx + dy * dy);\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 const deltaX = this.startx - event.target.getX();\n const deltaY = this.starty - event.target.getY();\n\n this.startx = event.target.getX();\n this.starty = event.target.getY();\n\n this.x = this.x - deltaX;\n this.y = this.y - deltaY;\n\n props.handleSessionChange();\n };\n\n render(props) {\n const { draggable, key, onMouseOverElement, onMouseOutElement } = props;\n\n return (\n <Circle\n key={key}\n draggable={draggable}\n radius={this.radius}\n x={this.startx}\n y={this.starty}\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.outlineColor}\n />\n );\n }\n}\n"],"file":"drawable-circle.js"}
@@ -31,7 +31,7 @@ var _drawableHelper = _interopRequireDefault(require("./drawable-helper"));
31
31
 
32
32
  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); }; }
33
33
 
34
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
34
+ 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; } }
35
35
 
36
36
  var EraserDrawable = /*#__PURE__*/function (_DrawableHelper) {
37
37
  (0, _inherits2["default"])(EraserDrawable, _DrawableHelper);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/drawing-response/drawable-eraser.jsx"],"names":["EraserDrawable","props","TYPE","event","posX","target","getX","posY","getY","handleSessionChange","startx","starty","points","x","y","draggable","key","onMouseOverElement","onMouseOutElement","handleDragEnd","bind","DrawableHelper"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;IAEqBA,c;;;;;AAEnB,0BAAYC,MAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,MAAN,EAAaD,cAAc,CAACE,IAA5B;AADiB,sGAaH,UAACD,KAAD,EAAQE,KAAR,EAAkB;AAChC,YAAKC,IAAL,GAAYD,KAAK,CAACE,MAAN,CAAaC,IAAb,EAAZ;AACA,YAAKC,IAAL,GAAYJ,KAAK,CAACE,MAAN,CAAaG,IAAb,EAAZ;AAEAP,MAAAA,KAAK,CAACQ,mBAAN;AACD,KAlBkB;AAAA,QAETC,MAFS,GAE8BT,MAF9B,CAETS,MAFS;AAAA,QAEDC,MAFC,GAE8BV,MAF9B,CAEDU,MAFC;AAAA,QAEOC,MAFP,GAE8BX,MAF9B,CAEOW,MAFP;AAAA,QAEeR,IAFf,GAE8BH,MAF9B,CAEeG,IAFf;AAAA,QAEqBG,IAFrB,GAE8BN,MAF9B,CAEqBM,IAFrB;AAIjB,UAAKK,MAAL,GAAcA,MAAM,IAAI,CAACF,MAAD,EAASC,MAAT,CAAxB;AACA,UAAKP,IAAL,GAAYA,IAAI,IAAI,CAApB;AACA,UAAKG,IAAL,GAAYA,IAAI,IAAI,CAApB;AANiB;AAOlB;;;;WAED,0BAAiBM,CAAjB,EAAoBC,CAApB,EAAuB;AACrB,WAAKF,MAAL,iDAAkB,KAAKA,MAAvB,IAA+BC,CAA/B,EAAkCC,CAAlC;AACD;;;WASD,gBAAOb,KAAP,EAAc;AAAA,UACJc,SADI,GACsDd,KADtD,CACJc,SADI;AAAA,UACOC,GADP,GACsDf,KADtD,CACOe,GADP;AAAA,UACYC,kBADZ,GACsDhB,KADtD,CACYgB,kBADZ;AAAA,UACgCC,iBADhC,GACsDjB,KADtD,CACgCiB,iBADhC;AAGZ,0BACE,gCAAC,gBAAD;AACE,QAAA,GAAG,EAAEF,GADP;AAEE,QAAA,SAAS,EAAED,SAFb;AAGE,QAAA,wBAAwB,EAAC,iBAH3B;AAIE,QAAA,OAAO,EAAE,CAJX;AAKE,QAAA,MAAM,EAAE,IALV;AAME,QAAA,MAAM,EAAE,KAAKH,MANf;AAOE,QAAA,SAAS,EAAE,KAAKO,aAAL,CAAmBC,IAAnB,CAAwB,IAAxB,EAA8BnB,KAA9B,CAPb;AAQE,QAAA,YAAY,EAAEgB,kBARhB;AASE,QAAA,YAAY,EAAEC,iBAThB;AAUE,QAAA,WAAW,EAAC,SAVd;AAWE,QAAA,QAAQ,EAAC,OAXX;AAYE,QAAA,SAAS,EAAC,GAZZ;AAaE,QAAA,IAAI,EAAC,OAbP;AAcE,QAAA,MAAM,EAAC,OAdT;AAeE,QAAA,WAAW,EAAE,CAff;AAgBE,QAAA,CAAC,EAAE,KAAKd,IAhBV;AAiBE,QAAA,CAAC,EAAE,KAAKG;AAjBV,QADF;AAqBD;;;EA9CyCc,0B;;;iCAAvBrB,c,UACL,gB","sourcesContent":["import React from 'react';\nimport { Line } from 'react-konva';\n\nimport DrawableHelper from './drawable-helper';\n\nexport default class EraserDrawable extends DrawableHelper {\n static TYPE = 'EraserDrawable';\n constructor(props) {\n super(props, EraserDrawable.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 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 globalCompositeOperation=\"destination-out\"\n tension={0}\n bezier={true}\n points={this.points}\n onDragEnd={this.handleDragEnd.bind(this, props)}\n onMouseEnter={onMouseOverElement}\n onMouseLeave={onMouseOutElement}\n strokeStyle=\"#df4b26\"\n lineJoin=\"round\"\n lineWidth=\"5\"\n fill=\"white\"\n stroke=\"white\"\n strokeWidth={5}\n x={this.posX}\n y={this.posY}\n />\n );\n }\n}\n"],"file":"drawable-eraser.js"}
1
+ {"version":3,"sources":["../../src/drawing-response/drawable-eraser.jsx"],"names":["EraserDrawable","props","TYPE","event","posX","target","getX","posY","getY","handleSessionChange","startx","starty","points","x","y","draggable","key","onMouseOverElement","onMouseOutElement","handleDragEnd","bind","DrawableHelper"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;IAEqBA,c;;;;;AAEnB,0BAAYC,MAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,MAAN,EAAaD,cAAc,CAACE,IAA5B;AADiB,sGAaH,UAACD,KAAD,EAAQE,KAAR,EAAkB;AAChC,YAAKC,IAAL,GAAYD,KAAK,CAACE,MAAN,CAAaC,IAAb,EAAZ;AACA,YAAKC,IAAL,GAAYJ,KAAK,CAACE,MAAN,CAAaG,IAAb,EAAZ;AAEAP,MAAAA,KAAK,CAACQ,mBAAN;AACD,KAlBkB;AAEjB,QAAQC,MAAR,GAA+CT,MAA/C,CAAQS,MAAR;AAAA,QAAgBC,MAAhB,GAA+CV,MAA/C,CAAgBU,MAAhB;AAAA,QAAwBC,MAAxB,GAA+CX,MAA/C,CAAwBW,MAAxB;AAAA,QAAgCR,IAAhC,GAA+CH,MAA/C,CAAgCG,IAAhC;AAAA,QAAsCG,IAAtC,GAA+CN,MAA/C,CAAsCM,IAAtC;AAEA,UAAKK,MAAL,GAAcA,MAAM,IAAI,CAACF,MAAD,EAASC,MAAT,CAAxB;AACA,UAAKP,IAAL,GAAYA,IAAI,IAAI,CAApB;AACA,UAAKG,IAAL,GAAYA,IAAI,IAAI,CAApB;AANiB;AAOlB;;;;WAED,0BAAiBM,CAAjB,EAAoBC,CAApB,EAAuB;AACrB,WAAKF,MAAL,iDAAkB,KAAKA,MAAvB,IAA+BC,CAA/B,EAAkCC,CAAlC;AACD;;;WASD,gBAAOb,KAAP,EAAc;AACZ,UAAQc,SAAR,GAAkEd,KAAlE,CAAQc,SAAR;AAAA,UAAmBC,GAAnB,GAAkEf,KAAlE,CAAmBe,GAAnB;AAAA,UAAwBC,kBAAxB,GAAkEhB,KAAlE,CAAwBgB,kBAAxB;AAAA,UAA4CC,iBAA5C,GAAkEjB,KAAlE,CAA4CiB,iBAA5C;AAEA,0BACE,gCAAC,gBAAD;AACE,QAAA,GAAG,EAAEF,GADP;AAEE,QAAA,SAAS,EAAED,SAFb;AAGE,QAAA,wBAAwB,EAAC,iBAH3B;AAIE,QAAA,OAAO,EAAE,CAJX;AAKE,QAAA,MAAM,EAAE,IALV;AAME,QAAA,MAAM,EAAE,KAAKH,MANf;AAOE,QAAA,SAAS,EAAE,KAAKO,aAAL,CAAmBC,IAAnB,CAAwB,IAAxB,EAA8BnB,KAA9B,CAPb;AAQE,QAAA,YAAY,EAAEgB,kBARhB;AASE,QAAA,YAAY,EAAEC,iBAThB;AAUE,QAAA,WAAW,EAAC,SAVd;AAWE,QAAA,QAAQ,EAAC,OAXX;AAYE,QAAA,SAAS,EAAC,GAZZ;AAaE,QAAA,IAAI,EAAC,OAbP;AAcE,QAAA,MAAM,EAAC,OAdT;AAeE,QAAA,WAAW,EAAE,CAff;AAgBE,QAAA,CAAC,EAAE,KAAKd,IAhBV;AAiBE,QAAA,CAAC,EAAE,KAAKG;AAjBV,QADF;AAqBD;;;EA9CyCc,0B;;;iCAAvBrB,c,UACL,gB","sourcesContent":["import React from 'react';\nimport { Line } from 'react-konva';\n\nimport DrawableHelper from './drawable-helper';\n\nexport default class EraserDrawable extends DrawableHelper {\n static TYPE = 'EraserDrawable';\n constructor(props) {\n super(props, EraserDrawable.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 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 globalCompositeOperation=\"destination-out\"\n tension={0}\n bezier={true}\n points={this.points}\n onDragEnd={this.handleDragEnd.bind(this, props)}\n onMouseEnter={onMouseOverElement}\n onMouseLeave={onMouseOutElement}\n strokeStyle=\"#df4b26\"\n lineJoin=\"round\"\n lineWidth=\"5\"\n fill=\"white\"\n stroke=\"white\"\n strokeWidth={5}\n x={this.posX}\n y={this.posY}\n />\n );\n }\n}\n"],"file":"drawable-eraser.js"}
@@ -31,7 +31,7 @@ var _drawableHelper = _interopRequireDefault(require("./drawable-helper"));
31
31
 
32
32
  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); }; }
33
33
 
34
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
34
+ 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; } }
35
35
 
36
36
  var FreePathDrawable = /*#__PURE__*/function (_DrawableHelper) {
37
37
  (0, _inherits2["default"])(FreePathDrawable, _DrawableHelper);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/drawing-response/drawable-free-path.jsx"],"names":["FreePathDrawable","props","TYPE","event","posX","target","getX","posY","getY","handleSessionChange","startx","starty","points","x","y","paint","paintColor","forceUpdate","draggable","key","onMouseOverElement","onMouseOutElement","fillColor","handleOnClick","handleDragEnd","bind","outlineColor","DrawableHelper"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;IAEqBA,gB;;;;;AAGnB,4BAAYC,MAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,MAAN,EAAaD,gBAAgB,CAACE,IAA9B;AADiB,sGAsBH,UAACD,KAAD,EAAQE,KAAR,EAAkB;AAChC,YAAKC,IAAL,GAAYD,KAAK,CAACE,MAAN,CAAaC,IAAb,EAAZ;AACA,YAAKC,IAAL,GAAYJ,KAAK,CAACE,MAAN,CAAaG,IAAb,EAAZ;AAEAP,MAAAA,KAAK,CAACQ,mBAAN;AACD,KA3BkB;AAAA,QAETC,MAFS,GAE8BT,MAF9B,CAETS,MAFS;AAAA,QAEDC,MAFC,GAE8BV,MAF9B,CAEDU,MAFC;AAAA,QAEOC,MAFP,GAE8BX,MAF9B,CAEOW,MAFP;AAAA,QAEeR,IAFf,GAE8BH,MAF9B,CAEeG,IAFf;AAAA,QAEqBG,IAFrB,GAE8BN,MAF9B,CAEqBM,IAFrB;AAIjB,UAAKK,MAAL,GAAcA,MAAM,IAAI,CAACF,MAAD,EAASC,MAAT,CAAxB;AACA,UAAKP,IAAL,GAAYA,IAAI,IAAI,CAApB;AACA,UAAKG,IAAL,GAAYA,IAAI,IAAI,CAApB;AANiB;AAOlB;;;;WAED,0BAAiBM,CAAjB,EAAoBC,CAApB,EAAuB;AACrB,WAAKF,MAAL,iDAAkB,KAAKA,MAAvB,IAA+BC,CAA/B,EAAkCC,CAAlC;AACD;;;WAED,uBAAcb,KAAd,EAAqB;AAAA,UACXc,KADW,GACwBd,KADxB,CACXc,KADW;AAAA,UACJC,UADI,GACwBf,KADxB,CACJe,UADI;AAAA,UACQC,WADR,GACwBhB,KADxB,CACQgB,WADR;;AAGnB,UAAIF,KAAJ,EAAW;AACT,aAAKC,UAAL,GAAkBA,UAAlB;AACAC,QAAAA,WAAW;AACZ;AACF;;;WASD,gBAAOhB,KAAP,EAAc;AAAA;;AAAA,UACJiB,SADI,GACsDjB,KADtD,CACJiB,SADI;AAAA,UACOC,GADP,GACsDlB,KADtD,CACOkB,GADP;AAAA,UACYC,kBADZ,GACsDnB,KADtD,CACYmB,kBADZ;AAAA,UACgCC,iBADhC,GACsDpB,KADtD,CACgCoB,iBADhC;AAGZ,0BACE,gCAAC,gBAAD;AACE,QAAA,GAAG,EAAEF,GADP;AAEE,QAAA,SAAS,EAAED,SAFb;AAGE,QAAA,OAAO,EAAE,CAHX;AAIE,QAAA,MAAM,EAAE,IAJV;AAKE,QAAA,MAAM,EAAE,KAAKN,MALf;AAME,QAAA,IAAI,EAAE,KAAKI,UAAL,IAAmB,KAAKM,SANhC;AAOE,QAAA,OAAO,EAAE;AAAA,iBAAM,MAAI,CAACC,aAAL,CAAmBtB,KAAnB,CAAN;AAAA,SAPX;AAQE,QAAA,SAAS,EAAE,KAAKuB,aAAL,CAAmBC,IAAnB,CAAwB,IAAxB,EAA8BxB,KAA9B,CARb;AASE,QAAA,YAAY,EAAEmB,kBAThB;AAUE,QAAA,YAAY,EAAEC,iBAVhB;AAWE,QAAA,MAAM,EAAE,KAAKL,UAAL,IAAmB,KAAKU,YAXlC;AAYE,QAAA,CAAC,EAAE,KAAKtB,IAZV;AAaE,QAAA,CAAC,EAAE,KAAKG;AAbV,QADF;AAiBD;;;EApD2CoB,0B;;;iCAAzB3B,gB,UACL,kB","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"],"file":"drawable-free-path.js"}
1
+ {"version":3,"sources":["../../src/drawing-response/drawable-free-path.jsx"],"names":["FreePathDrawable","props","TYPE","event","posX","target","getX","posY","getY","handleSessionChange","startx","starty","points","x","y","paint","paintColor","forceUpdate","draggable","key","onMouseOverElement","onMouseOutElement","fillColor","handleOnClick","handleDragEnd","bind","outlineColor","DrawableHelper"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;IAEqBA,gB;;;;;AAGnB,4BAAYC,MAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,MAAN,EAAaD,gBAAgB,CAACE,IAA9B;AADiB,sGAsBH,UAACD,KAAD,EAAQE,KAAR,EAAkB;AAChC,YAAKC,IAAL,GAAYD,KAAK,CAACE,MAAN,CAAaC,IAAb,EAAZ;AACA,YAAKC,IAAL,GAAYJ,KAAK,CAACE,MAAN,CAAaG,IAAb,EAAZ;AAEAP,MAAAA,KAAK,CAACQ,mBAAN;AACD,KA3BkB;AAEjB,QAAQC,MAAR,GAA+CT,MAA/C,CAAQS,MAAR;AAAA,QAAgBC,MAAhB,GAA+CV,MAA/C,CAAgBU,MAAhB;AAAA,QAAwBC,MAAxB,GAA+CX,MAA/C,CAAwBW,MAAxB;AAAA,QAAgCR,IAAhC,GAA+CH,MAA/C,CAAgCG,IAAhC;AAAA,QAAsCG,IAAtC,GAA+CN,MAA/C,CAAsCM,IAAtC;AAEA,UAAKK,MAAL,GAAcA,MAAM,IAAI,CAACF,MAAD,EAASC,MAAT,CAAxB;AACA,UAAKP,IAAL,GAAYA,IAAI,IAAI,CAApB;AACA,UAAKG,IAAL,GAAYA,IAAI,IAAI,CAApB;AANiB;AAOlB;;;;WAED,0BAAiBM,CAAjB,EAAoBC,CAApB,EAAuB;AACrB,WAAKF,MAAL,iDAAkB,KAAKA,MAAvB,IAA+BC,CAA/B,EAAkCC,CAAlC;AACD;;;WAED,uBAAcb,KAAd,EAAqB;AACnB,UAAQc,KAAR,GAA2Cd,KAA3C,CAAQc,KAAR;AAAA,UAAeC,UAAf,GAA2Cf,KAA3C,CAAee,UAAf;AAAA,UAA2BC,WAA3B,GAA2ChB,KAA3C,CAA2BgB,WAA3B;;AAEA,UAAIF,KAAJ,EAAW;AACT,aAAKC,UAAL,GAAkBA,UAAlB;AACAC,QAAAA,WAAW;AACZ;AACF;;;WASD,gBAAOhB,KAAP,EAAc;AAAA;;AACZ,UAAQiB,SAAR,GAAkEjB,KAAlE,CAAQiB,SAAR;AAAA,UAAmBC,GAAnB,GAAkElB,KAAlE,CAAmBkB,GAAnB;AAAA,UAAwBC,kBAAxB,GAAkEnB,KAAlE,CAAwBmB,kBAAxB;AAAA,UAA4CC,iBAA5C,GAAkEpB,KAAlE,CAA4CoB,iBAA5C;AAEA,0BACE,gCAAC,gBAAD;AACE,QAAA,GAAG,EAAEF,GADP;AAEE,QAAA,SAAS,EAAED,SAFb;AAGE,QAAA,OAAO,EAAE,CAHX;AAIE,QAAA,MAAM,EAAE,IAJV;AAKE,QAAA,MAAM,EAAE,KAAKN,MALf;AAME,QAAA,IAAI,EAAE,KAAKI,UAAL,IAAmB,KAAKM,SANhC;AAOE,QAAA,OAAO,EAAE;AAAA,iBAAM,MAAI,CAACC,aAAL,CAAmBtB,KAAnB,CAAN;AAAA,SAPX;AAQE,QAAA,SAAS,EAAE,KAAKuB,aAAL,CAAmBC,IAAnB,CAAwB,IAAxB,EAA8BxB,KAA9B,CARb;AASE,QAAA,YAAY,EAAEmB,kBAThB;AAUE,QAAA,YAAY,EAAEC,iBAVhB;AAWE,QAAA,MAAM,EAAE,KAAKL,UAAL,IAAmB,KAAKU,YAXlC;AAYE,QAAA,CAAC,EAAE,KAAKtB,IAZV;AAaE,QAAA,CAAC,EAAE,KAAKG;AAbV,QADF;AAiBD;;;EApD2CoB,0B;;;iCAAzB3B,gB,UACL,kB","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"],"file":"drawable-free-path.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/drawing-response/drawable-helper.jsx"],"names":["DrawableHelper","props","type","startx","starty","fillColor","outlineColor","createdAt","base","JSON","parse","stringify"],"mappings":";;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;IACqBA,c;AACnB,0BAAYC,KAAZ,EAAmBC,IAAnB,EAAyB;AAAA;AAAA,QACfC,MADe,GACwCF,KADxC,CACfE,MADe;AAAA,QACPC,MADO,GACwCH,KADxC,CACPG,MADO;AAAA,QACCC,SADD,GACwCJ,KADxC,CACCI,SADD;AAAA,QACYC,YADZ,GACwCL,KADxC,CACYK,YADZ;AAAA,QAC0BC,SAD1B,GACwCN,KADxC,CAC0BM,SAD1B;AAEvB,SAAKJ,MAAL,GAAcA,MAAd;AACA,SAAKC,MAAL,GAAcA,MAAd;AACA,SAAKG,SAAL,GAAiBA,SAAjB;AACA,SAAKF,SAAL,GAAiBA,SAAjB;AACA,SAAKC,YAAL,GAAoBA,YAApB;AACA,SAAKJ,IAAL,GAAYA,IAAZ;AACD;;;;WAED,kBAAS;AACP,UAAMM,IAAI,GAAGC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,SAAL,CAAe,IAAf,CAAX,CAAb;AACA,aAAOH,IAAP;AACD","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"],"file":"drawable-helper.js"}
1
+ {"version":3,"sources":["../../src/drawing-response/drawable-helper.jsx"],"names":["DrawableHelper","props","type","startx","starty","fillColor","outlineColor","createdAt","base","JSON","parse","stringify"],"mappings":";;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;IACqBA,c;AACnB,0BAAYC,KAAZ,EAAmBC,IAAnB,EAAyB;AAAA;AACvB,QAAQC,MAAR,GAA+DF,KAA/D,CAAQE,MAAR;AAAA,QAAgBC,MAAhB,GAA+DH,KAA/D,CAAgBG,MAAhB;AAAA,QAAwBC,SAAxB,GAA+DJ,KAA/D,CAAwBI,SAAxB;AAAA,QAAmCC,YAAnC,GAA+DL,KAA/D,CAAmCK,YAAnC;AAAA,QAAiDC,SAAjD,GAA+DN,KAA/D,CAAiDM,SAAjD;AACA,SAAKJ,MAAL,GAAcA,MAAd;AACA,SAAKC,MAAL,GAAcA,MAAd;AACA,SAAKG,SAAL,GAAiBA,SAAjB;AACA,SAAKF,SAAL,GAAiBA,SAAjB;AACA,SAAKC,YAAL,GAAoBA,YAApB;AACA,SAAKJ,IAAL,GAAYA,IAAZ;AACD;;;;WAED,kBAAS;AACP,UAAMM,IAAI,GAAGC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,SAAL,CAAe,IAAf,CAAX,CAAb;AACA,aAAOH,IAAP;AACD","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"],"file":"drawable-helper.js"}
@@ -29,7 +29,7 @@ var _drawableHelper = _interopRequireDefault(require("./drawable-helper"));
29
29
 
30
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
31
 
32
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
32
+ 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; } }
33
33
 
34
34
  var LineDrawable = /*#__PURE__*/function (_DrawableHelper) {
35
35
  (0, _inherits2["default"])(LineDrawable, _DrawableHelper);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/drawing-response/drawable-line.jsx"],"names":["LineDrawable","props","TYPE","event","posX","target","getX","posY","getY","handleSessionChange","startx","starty","x","y","paint","paintColor","forceUpdate","draggable","key","onMouseOverElement","onMouseOutElement","points","outlineColor","handleOnClick","handleDragEnd","bind","DrawableHelper"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;IAEqBA,Y;;;;;AAGnB,wBAAYC,MAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,MAAN,EAAaD,YAAY,CAACE,IAA1B;AADiB,sGAwBH,UAACD,KAAD,EAAQE,KAAR,EAAkB;AAChC,YAAKC,IAAL,GAAYD,KAAK,CAACE,MAAN,CAAaC,IAAb,EAAZ;AACA,YAAKC,IAAL,GAAYJ,KAAK,CAACE,MAAN,CAAaG,IAAb,EAAZ;AAEAP,MAAAA,KAAK,CAACQ,mBAAN;AACD,KA7BkB;AAAA,QAETC,MAFS,GAE4BT,MAF5B,CAETS,MAFS;AAAA,QAEDC,MAFC,GAE4BV,MAF5B,CAEDU,MAFC;AAAA,QAEOC,CAFP,GAE4BX,MAF5B,CAEOW,CAFP;AAAA,QAEUC,CAFV,GAE4BZ,MAF5B,CAEUY,CAFV;AAAA,QAEaT,IAFb,GAE4BH,MAF5B,CAEaG,IAFb;AAAA,QAEmBG,IAFnB,GAE4BN,MAF5B,CAEmBM,IAFnB;AAIjB,UAAKK,CAAL,GAASA,CAAC,IAAIF,MAAd;AACA,UAAKG,CAAL,GAASA,CAAC,IAAIF,MAAd;AACA,UAAKP,IAAL,GAAYA,IAAI,IAAI,CAApB;AACA,UAAKG,IAAL,GAAYA,IAAI,IAAI,CAApB;AAPiB;AAQlB;;;;WAED,0BAAiBK,CAAjB,EAAoBC,CAApB,EAAuB;AACrB,WAAKD,CAAL,GAASA,CAAT;AACA,WAAKC,CAAL,GAASA,CAAT;AACD;;;WAED,uBAAcZ,KAAd,EAAqB;AAAA,UACXa,KADW,GACwBb,KADxB,CACXa,KADW;AAAA,UACJC,UADI,GACwBd,KADxB,CACJc,UADI;AAAA,UACQC,WADR,GACwBf,KADxB,CACQe,WADR;;AAGnB,UAAIF,KAAJ,EAAW;AACT,aAAKC,UAAL,GAAkBA,UAAlB;AACAC,QAAAA,WAAW;AACZ;AACF;;;WASD,gBAAOf,KAAP,EAAc;AAAA;;AAAA,UACJgB,SADI,GACsDhB,KADtD,CACJgB,SADI;AAAA,UACOC,GADP,GACsDjB,KADtD,CACOiB,GADP;AAAA,UACYC,kBADZ,GACsDlB,KADtD,CACYkB,kBADZ;AAAA,UACgCC,iBADhC,GACsDnB,KADtD,CACgCmB,iBADhC;AAEZ,UAAMC,MAAM,GAAG,CAAC,KAAKX,MAAN,EAAc,KAAKC,MAAnB,EAA2B,KAAKC,CAAhC,EAAmC,KAAKC,CAAxC,CAAf;AAEA,0BACE,gCAAC,iBAAD;AACE,QAAA,GAAG,EAAEK,GADP;AAEE,QAAA,SAAS,EAAED,SAFb;AAGE,QAAA,MAAM,EAAEI,MAHV;AAIE,QAAA,IAAI,EAAE,KAAKN,UAAL,IAAmB,KAAKO,YAJhC;AAKE,QAAA,OAAO,EAAE;AAAA,iBAAM,MAAI,CAACC,aAAL,CAAmBtB,KAAnB,CAAN;AAAA,SALX;AAME,QAAA,MAAM,EAAE,KAAKc,UAAL,IAAmB,KAAKO,YANlC;AAOE,QAAA,SAAS,EAAE,KAAKE,aAAL,CAAmBC,IAAnB,CAAwB,IAAxB,EAA8BxB,KAA9B,CAPb;AAQE,QAAA,YAAY,EAAEkB,kBARhB;AASE,QAAA,YAAY,EAAEC,iBAThB;AAUE,QAAA,CAAC,EAAE,KAAKhB,IAVV;AAWE,QAAA,CAAC,EAAE,KAAKG,IAXV;AAYE,QAAA,YAAY,EAAE,CAZhB;AAaE,QAAA,aAAa,EAAE;AAbjB,QADF;AAiBD;;;EAvDuCmB,0B;;;iCAArB1B,Y,UACL,c","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"],"file":"drawable-line.js"}
1
+ {"version":3,"sources":["../../src/drawing-response/drawable-line.jsx"],"names":["LineDrawable","props","TYPE","event","posX","target","getX","posY","getY","handleSessionChange","startx","starty","x","y","paint","paintColor","forceUpdate","draggable","key","onMouseOverElement","onMouseOutElement","points","outlineColor","handleOnClick","handleDragEnd","bind","DrawableHelper"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;IAEqBA,Y;;;;;AAGnB,wBAAYC,MAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,MAAN,EAAaD,YAAY,CAACE,IAA1B;AADiB,sGAwBH,UAACD,KAAD,EAAQE,KAAR,EAAkB;AAChC,YAAKC,IAAL,GAAYD,KAAK,CAACE,MAAN,CAAaC,IAAb,EAAZ;AACA,YAAKC,IAAL,GAAYJ,KAAK,CAACE,MAAN,CAAaG,IAAb,EAAZ;AAEAP,MAAAA,KAAK,CAACQ,mBAAN;AACD,KA7BkB;AAEjB,QAAQC,MAAR,GAA6CT,MAA7C,CAAQS,MAAR;AAAA,QAAgBC,MAAhB,GAA6CV,MAA7C,CAAgBU,MAAhB;AAAA,QAAwBC,CAAxB,GAA6CX,MAA7C,CAAwBW,CAAxB;AAAA,QAA2BC,CAA3B,GAA6CZ,MAA7C,CAA2BY,CAA3B;AAAA,QAA8BT,IAA9B,GAA6CH,MAA7C,CAA8BG,IAA9B;AAAA,QAAoCG,IAApC,GAA6CN,MAA7C,CAAoCM,IAApC;AAEA,UAAKK,CAAL,GAASA,CAAC,IAAIF,MAAd;AACA,UAAKG,CAAL,GAASA,CAAC,IAAIF,MAAd;AACA,UAAKP,IAAL,GAAYA,IAAI,IAAI,CAApB;AACA,UAAKG,IAAL,GAAYA,IAAI,IAAI,CAApB;AAPiB;AAQlB;;;;WAED,0BAAiBK,CAAjB,EAAoBC,CAApB,EAAuB;AACrB,WAAKD,CAAL,GAASA,CAAT;AACA,WAAKC,CAAL,GAASA,CAAT;AACD;;;WAED,uBAAcZ,KAAd,EAAqB;AACnB,UAAQa,KAAR,GAA2Cb,KAA3C,CAAQa,KAAR;AAAA,UAAeC,UAAf,GAA2Cd,KAA3C,CAAec,UAAf;AAAA,UAA2BC,WAA3B,GAA2Cf,KAA3C,CAA2Be,WAA3B;;AAEA,UAAIF,KAAJ,EAAW;AACT,aAAKC,UAAL,GAAkBA,UAAlB;AACAC,QAAAA,WAAW;AACZ;AACF;;;WASD,gBAAOf,KAAP,EAAc;AAAA;;AACZ,UAAQgB,SAAR,GAAkEhB,KAAlE,CAAQgB,SAAR;AAAA,UAAmBC,GAAnB,GAAkEjB,KAAlE,CAAmBiB,GAAnB;AAAA,UAAwBC,kBAAxB,GAAkElB,KAAlE,CAAwBkB,kBAAxB;AAAA,UAA4CC,iBAA5C,GAAkEnB,KAAlE,CAA4CmB,iBAA5C;AACA,UAAMC,MAAM,GAAG,CAAC,KAAKX,MAAN,EAAc,KAAKC,MAAnB,EAA2B,KAAKC,CAAhC,EAAmC,KAAKC,CAAxC,CAAf;AAEA,0BACE,gCAAC,iBAAD;AACE,QAAA,GAAG,EAAEK,GADP;AAEE,QAAA,SAAS,EAAED,SAFb;AAGE,QAAA,MAAM,EAAEI,MAHV;AAIE,QAAA,IAAI,EAAE,KAAKN,UAAL,IAAmB,KAAKO,YAJhC;AAKE,QAAA,OAAO,EAAE;AAAA,iBAAM,MAAI,CAACC,aAAL,CAAmBtB,KAAnB,CAAN;AAAA,SALX;AAME,QAAA,MAAM,EAAE,KAAKc,UAAL,IAAmB,KAAKO,YANlC;AAOE,QAAA,SAAS,EAAE,KAAKE,aAAL,CAAmBC,IAAnB,CAAwB,IAAxB,EAA8BxB,KAA9B,CAPb;AAQE,QAAA,YAAY,EAAEkB,kBARhB;AASE,QAAA,YAAY,EAAEC,iBAThB;AAUE,QAAA,CAAC,EAAE,KAAKhB,IAVV;AAWE,QAAA,CAAC,EAAE,KAAKG,IAXV;AAYE,QAAA,YAAY,EAAE,CAZhB;AAaE,QAAA,aAAa,EAAE;AAbjB,QADF;AAiBD;;;EAvDuCmB,0B;;;iCAArB1B,Y,UACL,c","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"],"file":"drawable-line.js"}
@@ -47,13 +47,13 @@ var _button = _interopRequireDefault(require("./button"));
47
47
 
48
48
  var _factory = _interopRequireDefault(require("./factory"));
49
49
 
50
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
50
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
51
51
 
52
52
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
53
53
 
54
54
  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); }; }
55
55
 
56
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
56
+ 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; } }
57
57
 
58
58
  var DrawableMain = /*#__PURE__*/function (_React$Component) {
59
59
  (0, _inherits2["default"])(DrawableMain, _React$Component);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/drawing-response/drawable-main.jsx"],"names":["DrawableMain","props","onSessionChange","session","TextEntry","drawables","state","newSession","map","d","toJson","texts","all","text","id","attrs","value","setState","isOver","e","newDrawable","textIsSelected","toolActive","fillColor","outlineColor","length","target","getStage","getPointerPosition","x","y","type","startx","starty","createdAt","Date","drawableToAdd","registerMovement","push","handleSessionChange","bind","updatedNewDrawable","newDrawables","allData","sort","a","b","lastElement","pop","updatedAt","nextProps","currentDrawables","drawablesString","JSON","stringify","sessionDrawableString","drawable","drawableArray","currentTexts","setAll","classes","disabled","drawableDimensions","imageDimensions","imageUrl","paintColor","draggable","paint","drawableProps","forceUpdate","toggleTextSelected","stage","onMouseOverElement","onMouseOutElement","listeners","onMouseUp","handleMouseUp","onMouseMove","handleMouseMove","onMouseDown","handleMouseDown","undoControls","handleUndo","handleClearAll","base","renderTextareas","ref","active","height","width","layer","key","render","React","Component","styles","position","left","top","cursor","marginTop","propTypes","PropTypes","object","isRequired","bool","string","func"],"mappings":"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","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 const { newDrawable, textIsSelected } = this.state;\n const { toolActive, fillColor, outlineColor } = this.props;\n\n if (newDrawable.length === 0 && !textIsSelected) {\n const { x, y } = e.target.getStage().getPointerPosition();\n const newDrawable = factory(toolActive.type, {\n startx: x,\n starty: y,\n fillColor,\n outlineColor,\n createdAt: new Date()\n });\n\n this.setState({\n newDrawable: [newDrawable]\n });\n }\n };\n\n handleMouseUp = e => {\n const { newDrawable, drawables } = this.state;\n\n if (newDrawable.length === 1) {\n const { x, y } = e.target.getStage().getPointerPosition();\n const drawableToAdd = newDrawable[0];\n\n drawableToAdd.registerMovement(x, y);\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\n if (newDrawable.length === 1) {\n const { x, y } = e.target.getStage().getPointerPosition();\n const updatedNewDrawable = newDrawable[0];\n\n updatedNewDrawable.registerMovement(x, y);\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 toolActive: { type }\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 };\n\n let listeners = {};\n\n if (!disabled) {\n listeners = {\n onMouseUp: this.handleMouseUp,\n onMouseMove: this.handleMouseMove\n };\n\n if (!draggable) {\n listeners.onMouseDown = this.handleMouseDown;\n }\n }\n\n return (\n <div>\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 {imageUrl && (\n <ImageBackground dimensions={imageDimensions} url={imageUrl} />\n )}\n\n {TextEntry.renderTextareas()}\n\n <Stage\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 base: {\n position: 'relative',\n width: '100%'\n },\n stage: {\n left: 0,\n position: 'absolute',\n top: 0\n },\n active: {\n cursor: 'pointer'\n },\n undoControls: {\n float: 'right',\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};\n\nexport default withStyles(styles)(DrawableMain);\n"],"file":"drawable-main.js"}
1
+ {"version":3,"sources":["../../src/drawing-response/drawable-main.jsx"],"names":["DrawableMain","props","onSessionChange","session","TextEntry","drawables","state","newSession","map","d","toJson","texts","all","text","id","attrs","value","setState","isOver","e","newDrawable","textIsSelected","toolActive","fillColor","outlineColor","length","target","getStage","getPointerPosition","x","y","type","startx","starty","createdAt","Date","drawableToAdd","registerMovement","push","handleSessionChange","bind","updatedNewDrawable","newDrawables","allData","sort","a","b","lastElement","pop","updatedAt","nextProps","currentDrawables","drawablesString","JSON","stringify","sessionDrawableString","drawable","drawableArray","currentTexts","setAll","classes","disabled","drawableDimensions","imageDimensions","imageUrl","paintColor","draggable","paint","drawableProps","forceUpdate","toggleTextSelected","stage","onMouseOverElement","onMouseOutElement","listeners","onMouseUp","handleMouseUp","onMouseMove","handleMouseMove","onMouseDown","handleMouseDown","undoControls","handleUndo","handleClearAll","base","renderTextareas","ref","active","height","width","layer","key","render","React","Component","styles","position","left","top","cursor","marginTop","propTypes","PropTypes","object","isRequired","bool","string","func"],"mappings":"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","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 const { newDrawable, textIsSelected } = this.state;\n const { toolActive, fillColor, outlineColor } = this.props;\n\n if (newDrawable.length === 0 && !textIsSelected) {\n const { x, y } = e.target.getStage().getPointerPosition();\n const newDrawable = factory(toolActive.type, {\n startx: x,\n starty: y,\n fillColor,\n outlineColor,\n createdAt: new Date()\n });\n\n this.setState({\n newDrawable: [newDrawable]\n });\n }\n };\n\n handleMouseUp = e => {\n const { newDrawable, drawables } = this.state;\n\n if (newDrawable.length === 1) {\n const { x, y } = e.target.getStage().getPointerPosition();\n const drawableToAdd = newDrawable[0];\n\n drawableToAdd.registerMovement(x, y);\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\n if (newDrawable.length === 1) {\n const { x, y } = e.target.getStage().getPointerPosition();\n const updatedNewDrawable = newDrawable[0];\n\n updatedNewDrawable.registerMovement(x, y);\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 toolActive: { type }\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 };\n\n let listeners = {};\n\n if (!disabled) {\n listeners = {\n onMouseUp: this.handleMouseUp,\n onMouseMove: this.handleMouseMove\n };\n\n if (!draggable) {\n listeners.onMouseDown = this.handleMouseDown;\n }\n }\n\n return (\n <div>\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 {imageUrl && (\n <ImageBackground dimensions={imageDimensions} url={imageUrl} />\n )}\n\n {TextEntry.renderTextareas()}\n\n <Stage\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 base: {\n position: 'relative',\n width: '100%'\n },\n stage: {\n left: 0,\n position: 'absolute',\n top: 0\n },\n active: {\n cursor: 'pointer'\n },\n undoControls: {\n float: 'right',\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};\n\nexport default withStyles(styles)(DrawableMain);\n"],"file":"drawable-main.js"}
@@ -35,7 +35,7 @@ var _styles = require("@material-ui/core/styles");
35
35
 
36
36
  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); }; }
37
37
 
38
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
38
+ 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; } }
39
39
 
40
40
  // TODO: Change Palette so will render inputs and colors dynamically
41
41
  var Palette = /*#__PURE__*/function (_React$Component) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/drawing-response/drawable-palette.jsx"],"names":["Palette","name","event","value","target","props","onFillColorChange","onOutlineColorChange","onPaintColorChange","classes","fillColor","outlineColor","fillList","outlineList","base","input","select","onChange","map","label","item","backgroundColor","border","React","Component","styles","theme","marginTop","spacing","unit","display","flex","fontSize","width","borderRadius","height","marginLeft","marginRight","transform","propTypes","PropTypes","object","isRequired","string","array","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport { withStyles } from '@material-ui/core/styles';\n\n// TODO: Change Palette so will render inputs and colors dynamically\nclass Palette extends React.Component {\n onChange = name => event => {\n const { value } = event.target;\n const {\n onFillColorChange,\n onOutlineColorChange,\n onPaintColorChange\n } = this.props;\n\n if (name === 'fill') {\n onFillColorChange(value);\n } else if (name === 'outline') {\n onOutlineColorChange(value);\n } else {\n onPaintColorChange(value);\n }\n };\n\n render() {\n const {\n classes,\n fillColor,\n outlineColor,\n fillList,\n outlineList\n } = this.props;\n\n return (\n <div className={classes.base}>\n <InputContainer label=\"Fill Color\" className={classes.input}>\n <Select\n className={classes.select}\n onChange={this.onChange('fill')}\n value={fillColor}\n >\n {fillList.map(({ value, label }) => (\n <MenuItem\n key={value}\n value={value}\n className={classes.item}\n style={{ backgroundColor: value }}\n >\n {label}\n </MenuItem>\n ))}\n </Select>\n </InputContainer>\n\n <InputContainer label=\"Outline Color\" className={classes.input}>\n <Select\n className={classes.select}\n onChange={this.onChange('outline')}\n value={outlineColor}\n >\n {outlineList.map(({ value, label }) => (\n <MenuItem\n key={value}\n value={value}\n className={classes.item}\n style={{ border: `2px solid ${value}` }}\n >\n {label}\n </MenuItem>\n ))}\n </Select>\n </InputContainer>\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n base: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex'\n },\n input: {\n flex: 1,\n fontSize: 'inherit',\n width: '90%',\n },\n item: {\n borderRadius: '2px',\n fontSize: 'inherit',\n height: '22px',\n marginLeft: theme.spacing.unit * 2,\n marginRight: theme.spacing.unit * 2,\n marginTop: theme.spacing.unit * 2\n },\n select: {\n fontSize: 'inherit',\n transform: 'translate(0%, 40%)',\n }\n});\n\nPalette.propTypes = {\n classes: PropTypes.object.isRequired,\n fillColor: PropTypes.string.isRequired,\n fillList: PropTypes.array.isRequired,\n onFillColorChange: PropTypes.func.isRequired,\n onOutlineColorChange: PropTypes.func.isRequired,\n onPaintColorChange: PropTypes.func.isRequired,\n outlineColor: PropTypes.string.isRequired,\n outlineList: PropTypes.array.isRequired\n};\n\nexport default withStyles(styles)(Palette);\n"],"file":"drawable-palette.js"}
1
+ {"version":3,"sources":["../../src/drawing-response/drawable-palette.jsx"],"names":["Palette","name","event","value","target","props","onFillColorChange","onOutlineColorChange","onPaintColorChange","classes","fillColor","outlineColor","fillList","outlineList","base","input","select","onChange","map","label","item","backgroundColor","border","React","Component","styles","theme","marginTop","spacing","unit","display","flex","fontSize","width","borderRadius","height","marginLeft","marginRight","transform","propTypes","PropTypes","object","isRequired","string","array","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport { withStyles } from '@material-ui/core/styles';\n\n// TODO: Change Palette so will render inputs and colors dynamically\nclass Palette extends React.Component {\n onChange = name => event => {\n const { value } = event.target;\n const {\n onFillColorChange,\n onOutlineColorChange,\n onPaintColorChange\n } = this.props;\n\n if (name === 'fill') {\n onFillColorChange(value);\n } else if (name === 'outline') {\n onOutlineColorChange(value);\n } else {\n onPaintColorChange(value);\n }\n };\n\n render() {\n const {\n classes,\n fillColor,\n outlineColor,\n fillList,\n outlineList\n } = this.props;\n\n return (\n <div className={classes.base}>\n <InputContainer label=\"Fill Color\" className={classes.input}>\n <Select\n className={classes.select}\n onChange={this.onChange('fill')}\n value={fillColor}\n >\n {fillList.map(({ value, label }) => (\n <MenuItem\n key={value}\n value={value}\n className={classes.item}\n style={{ backgroundColor: value }}\n >\n {label}\n </MenuItem>\n ))}\n </Select>\n </InputContainer>\n\n <InputContainer label=\"Outline Color\" className={classes.input}>\n <Select\n className={classes.select}\n onChange={this.onChange('outline')}\n value={outlineColor}\n >\n {outlineList.map(({ value, label }) => (\n <MenuItem\n key={value}\n value={value}\n className={classes.item}\n style={{ border: `2px solid ${value}` }}\n >\n {label}\n </MenuItem>\n ))}\n </Select>\n </InputContainer>\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n base: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex'\n },\n input: {\n flex: 1,\n fontSize: 'inherit',\n width: '90%',\n },\n item: {\n borderRadius: '2px',\n fontSize: 'inherit',\n height: '22px',\n marginLeft: theme.spacing.unit * 2,\n marginRight: theme.spacing.unit * 2,\n marginTop: theme.spacing.unit * 2\n },\n select: {\n fontSize: 'inherit',\n transform: 'translate(0%, 40%)',\n }\n});\n\nPalette.propTypes = {\n classes: PropTypes.object.isRequired,\n fillColor: PropTypes.string.isRequired,\n fillList: PropTypes.array.isRequired,\n onFillColorChange: PropTypes.func.isRequired,\n onOutlineColorChange: PropTypes.func.isRequired,\n onPaintColorChange: PropTypes.func.isRequired,\n outlineColor: PropTypes.string.isRequired,\n outlineList: PropTypes.array.isRequired\n};\n\nexport default withStyles(styles)(Palette);\n"],"file":"drawable-palette.js"}
@@ -29,7 +29,7 @@ var _drawableHelper = _interopRequireDefault(require("./drawable-helper"));
29
29
 
30
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
31
 
32
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
32
+ 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; } }
33
33
 
34
34
  var RectangleDrawable = /*#__PURE__*/function (_DrawableHelper) {
35
35
  (0, _inherits2["default"])(RectangleDrawable, _DrawableHelper);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/drawing-response/drawable-rectangle.jsx"],"names":["RectangleDrawable","props","TYPE","event","deltaX","startx","target","getX","deltaY","starty","getY","x","y","handleSessionChange","width","height","paint","paintColor","forceUpdate","draggable","key","onMouseOverElement","onMouseOutElement","fillColor","handleOnClick","handleDragEnd","bind","outlineColor","DrawableHelper"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Rect } from 'react-konva';\n\nimport DrawableHelper from './drawable-helper';\n\nexport default class RectangleDrawable extends DrawableHelper {\n static TYPE = 'RectangleDrawable';\n constructor(props) {\n super(props, RectangleDrawable.TYPE);\n const { startx, starty, x, y } = props;\n this.startx = startx;\n this.starty = starty;\n this.x = x || startx;\n this.y = y || starty;\n this.width = x - startx || 0;\n this.height = y - starty || 0;\n }\n\n registerMovement(x, y) {\n this.x = x;\n this.y = y;\n this.width = this.x - this.startx;\n this.height = this.y - this.starty;\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 const deltaX = this.startx - event.target.getX();\n const deltaY = this.starty - event.target.getY();\n\n this.startx = event.target.getX();\n this.starty = event.target.getY();\n\n this.x = this.x - deltaX;\n this.y = this.y - deltaY;\n\n props.handleSessionChange();\n };\n\n render(props) {\n const { draggable, key, onMouseOverElement, onMouseOutElement } = props;\n\n return (\n <Rect\n key={key}\n height={this.height}\n width={this.width}\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.outlineColor}\n draggable={draggable}\n strokeWidth={2}\n x={this.startx}\n y={this.starty}\n />\n );\n }\n}\n"],"file":"drawable-rectangle.js"}
1
+ {"version":3,"sources":["../../src/drawing-response/drawable-rectangle.jsx"],"names":["RectangleDrawable","props","TYPE","event","deltaX","startx","target","getX","deltaY","starty","getY","x","y","handleSessionChange","width","height","paint","paintColor","forceUpdate","draggable","key","onMouseOverElement","onMouseOutElement","fillColor","handleOnClick","handleDragEnd","bind","outlineColor","DrawableHelper"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Rect } from 'react-konva';\n\nimport DrawableHelper from './drawable-helper';\n\nexport default class RectangleDrawable extends DrawableHelper {\n static TYPE = 'RectangleDrawable';\n constructor(props) {\n super(props, RectangleDrawable.TYPE);\n const { startx, starty, x, y } = props;\n this.startx = startx;\n this.starty = starty;\n this.x = x || startx;\n this.y = y || starty;\n this.width = x - startx || 0;\n this.height = y - starty || 0;\n }\n\n registerMovement(x, y) {\n this.x = x;\n this.y = y;\n this.width = this.x - this.startx;\n this.height = this.y - this.starty;\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 const deltaX = this.startx - event.target.getX();\n const deltaY = this.starty - event.target.getY();\n\n this.startx = event.target.getX();\n this.starty = event.target.getY();\n\n this.x = this.x - deltaX;\n this.y = this.y - deltaY;\n\n props.handleSessionChange();\n };\n\n render(props) {\n const { draggable, key, onMouseOverElement, onMouseOutElement } = props;\n\n return (\n <Rect\n key={key}\n height={this.height}\n width={this.width}\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.outlineColor}\n draggable={draggable}\n strokeWidth={2}\n x={this.startx}\n y={this.starty}\n />\n );\n }\n}\n"],"file":"drawable-rectangle.js"}
@@ -21,7 +21,7 @@ var _reactKonva = require("react-konva");
21
21
 
22
22
  var _drawableTransformer = _interopRequireDefault(require("./drawable-transformer"));
23
23
 
24
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
24
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
25
25
 
26
26
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
27
27
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/drawing-response/drawable-text.jsx"],"names":["generateId","Math","random","toString","substring","Date","getTime","TextDrawable","props","eventListenersDetachArray","forEach","fn","all","forceUpdate","id","push","isDefault","label","width","x","length","y","textVisible","transformerVisible","textareaVisible","createdAt","type","handleSessionChange","toggleTextSelected","e","current","filter","item","text","toggleTextarea","textNode","getTextNode","textareaNode","getTextareaNode","areaPosition","_lastPos","value","style","position","top","left","padding","height","fontSize","border","margin","overflow","background","outline","resize","lineHeight","fontFamily","transformOrigin","textAlign","align","color","fill","rotation","transform","px","isFirefox","navigator","userAgent","toLowerCase","indexOf","round","scrollHeight","focus","keyDownHandler","keyCode","shiftKey","saveValue","addEventListener","removeEventListener","blurHandler","showOnlyTextNodes","initializeDefault","setAttrs","scaleX","map","textarea","display","setInitialProps","stage","newStage","stageClickHandler","target","on","off","transformerNode","extraProps","disabled","onClick","handleClick","onDblClick","handleDblClick","onTransform","handleTransform","onTransformEnd","onMouseDown","handleMouseDown","onMouseUp","handleMouseUp","onDragEnd","onMouseEnter","onMouseOverElement","onMouseLeave","onMouseOutElement"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;AAEO,IAAMA,UAAU,GAAG,SAAbA,UAAa;AAAA,SACxBC,IAAI,CAACC,MAAL,GACGC,QADH,CACY,EADZ,EAEGC,SAFH,CAEa,CAFb,IAEkB,IAAIC,IAAJ,GAAWC,OAAX,GAAqBH,QAArB,CAA8B,EAA9B,CAHM;AAAA,CAAnB;;;;IAKcI,Y;AAanB,wBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AAAA,mEAKI;AAAA,aACrB,KAAI,CAACC,yBAAL,CAA+BC,OAA/B,CAAuC,UAAAC,EAAE;AAAA,eAAIA,EAAE,EAAN;AAAA,OAAzC,CADqB;AAAA,KALJ;AAAA,qDAQV,UAAAC,GAAG,EAAI;AACd,MAAA,KAAI,CAACA,GAAL,GAAWA,GAAX;;AACA,MAAA,KAAI,CAACJ,KAAL,CAAWK,WAAX;AACD,KAXkB;AAAA,8DAaD,YAAM;AACtB,UAAMD,GAAG,GAAG,KAAI,CAACA,GAAjB;AACA,UAAME,EAAE,GAAGd,UAAU,EAArB;AAEAY,MAAAA,GAAG,CAACG,IAAJ,CAAS;AACPD,QAAAA,EAAE,EAAEA,EADG;AAEPE,QAAAA,SAAS,EAAE,IAFJ;AAGPC,QAAAA,KAAK,EAAE,wDAHA;AAIPC,QAAAA,KAAK,EAAE,GAJA;AAKPC,QAAAA,CAAC,EAAE,CAACP,GAAG,CAACQ,MAAJ,GAAa,CAAd,IAAmB,CAAnB,GAAuB,EALnB;AAMPC,QAAAA,CAAC,EAAE,CAACT,GAAG,CAACQ,MAAJ,GAAa,CAAd,IAAmB,CAAnB,GAAuB,EANnB;AAOPE,QAAAA,WAAW,EAAE,IAPN;AAQPC,QAAAA,kBAAkB,EAAE,IARb;AASPC,QAAAA,eAAe,EAAE,KATV;AAUPC,QAAAA,SAAS,EAAE,IAAIpB,IAAJ,EAVJ;AAWPqB,QAAAA,IAAI,EAAE;AAXC,OAAT;;AAcA,MAAA,KAAI,CAAClB,KAAL,CAAWmB,mBAAX;AACD,KAhCkB;AAAA,8DA2ED;AAAA,aAAM,KAAI,CAACnB,KAAL,CAAWoB,kBAAX,CAA8B,IAA9B,CAAN;AAAA,KA3EC;AAAA,4DA4EH;AAAA,aAAM,KAAI,CAACpB,KAAL,CAAWoB,kBAAX,CAA8B,KAA9B,CAAN;AAAA,KA5EG;AAAA,0DA8EL,UAACC,CAAD,EAAIf,EAAJ,EAAW;AACvB,UAAMgB,OAAO,GAAG,KAAI,CAAClB,GAAL,CAASmB,MAAT,CAAgB,UAAAC,IAAI;AAAA,eAAIA,IAAI,CAAClB,EAAL,KAAYA,EAAhB;AAAA,OAApB,EAAwC,CAAxC,CAAhB;;AACAgB,MAAAA,OAAO,CAACP,kBAAR,GAA6B,IAA7B;;AACA,MAAA,KAAI,CAACf,KAAL,CAAWK,WAAX;AACD,KAlFkB;AAAA,6DAoFF,UAACgB,CAAD,EAAII,IAAJ,EAAa;AAAA,UACpBnB,EADoB,GACFmB,IADE,CACpBnB,EADoB;AAAA,UAChBE,SADgB,GACFiB,IADE,CAChBjB,SADgB;;AAE5B,MAAA,KAAI,CAACkB,cAAL,CAAoBpB,EAApB,EAAwB,IAAxB;;AAEA,UAAMqB,QAAQ,GAAG,KAAI,CAAC5B,YAAY,CAAC6B,WAAb,CAAyBtB,EAAzB,CAAD,CAArB;;AACA,UAAMuB,YAAY,GAAG,KAAI,CAAC9B,YAAY,CAAC+B,eAAb,CAA6BxB,EAA7B,CAAD,CAAzB;;AAEA,UAAMyB,YAAY,GAAGJ,QAAQ,CAACK,QAA9B;AAEAH,MAAAA,YAAY,CAACI,KAAb,GAAqBzB,SAAS,GAAG,EAAH,GAAQmB,QAAQ,CAACF,IAAT,EAAtC;AACAI,MAAAA,YAAY,CAACK,KAAb,CAAmBC,QAAnB,GAA8B,UAA9B;AACAN,MAAAA,YAAY,CAACK,KAAb,CAAmBE,GAAnB,GAAyBL,YAAY,CAAClB,CAAb,GAAiB,IAA1C;AACAgB,MAAAA,YAAY,CAACK,KAAb,CAAmBG,IAAnB,GAA0BN,YAAY,CAACpB,CAAb,GAAiB,IAA3C;AACAkB,MAAAA,YAAY,CAACK,KAAb,CAAmBxB,KAAnB,GAA2BiB,QAAQ,CAACjB,KAAT,KAAmBiB,QAAQ,CAACW,OAAT,KAAqB,CAAxC,GAA4C,IAAvE;AACAT,MAAAA,YAAY,CAACK,KAAb,CAAmBK,MAAnB,GACEZ,QAAQ,CAACY,MAAT,KAAoBZ,QAAQ,CAACW,OAAT,KAAqB,CAAzC,GAA6C,CAA7C,GAAiD,IADnD;AAEAT,MAAAA,YAAY,CAACK,KAAb,CAAmBM,QAAnB,GAA8Bb,QAAQ,CAACa,QAAT,KAAsB,IAApD;AACAX,MAAAA,YAAY,CAACK,KAAb,CAAmBO,MAAnB,GAA4B,MAA5B;AACAZ,MAAAA,YAAY,CAACK,KAAb,CAAmBI,OAAnB,GAA6B,KAA7B;AACAT,MAAAA,YAAY,CAACK,KAAb,CAAmBQ,MAAnB,GAA4B,KAA5B;AACAb,MAAAA,YAAY,CAACK,KAAb,CAAmBS,QAAnB,GAA8B,QAA9B;AACAd,MAAAA,YAAY,CAACK,KAAb,CAAmBU,UAAnB,GAAgC,MAAhC;AACAf,MAAAA,YAAY,CAACK,KAAb,CAAmBW,OAAnB,GAA6B,MAA7B;AACAhB,MAAAA,YAAY,CAACK,KAAb,CAAmBY,MAAnB,GAA4B,MAA5B;AACAjB,MAAAA,YAAY,CAACK,KAAb,CAAmBa,UAAnB,GAAgCpB,QAAQ,CAACoB,UAAT,EAAhC;AACAlB,MAAAA,YAAY,CAACK,KAAb,CAAmBc,UAAnB,GAAgCrB,QAAQ,CAACqB,UAAT,EAAhC;AACAnB,MAAAA,YAAY,CAACK,KAAb,CAAmBe,eAAnB,GAAqC,UAArC;AACApB,MAAAA,YAAY,CAACK,KAAb,CAAmBgB,SAAnB,GAA+BvB,QAAQ,CAACwB,KAAT,EAA/B;AACAtB,MAAAA,YAAY,CAACK,KAAb,CAAmBkB,KAAnB,GAA2BzB,QAAQ,CAAC0B,IAAT,EAA3B;AAEA,UAAIC,QAAQ,GAAG3B,QAAQ,CAAC2B,QAAT,EAAf;AACA,UAAIC,SAAS,GAAG,EAAhB;;AACA,UAAID,QAAJ,EAAc;AACZC,QAAAA,SAAS,IAAI,aAAaD,QAAb,GAAwB,MAArC;AACD;;AAED,UAAIE,EAAE,GAAG,CAAT;AACA,UAAMC,SAAS,GAAGC,SAAS,CAACC,SAAV,CAAoBC,WAApB,GAAkCC,OAAlC,CAA0C,SAA1C,IAAuD,CAAC,CAA1E;;AAEA,UAAIJ,SAAJ,EAAe;AACbD,QAAAA,EAAE,IAAI,IAAI/D,IAAI,CAACqE,KAAL,CAAWnC,QAAQ,CAACa,QAAT,KAAsB,EAAjC,CAAV;AACD;;AAEDe,MAAAA,SAAS,IAAI,iBAAiBC,EAAjB,GAAsB,KAAnC;AAEA3B,MAAAA,YAAY,CAACK,KAAb,CAAmBqB,SAAnB,GAA+BA,SAA/B;AACA1B,MAAAA,YAAY,CAACK,KAAb,CAAmBK,MAAnB,GAA4B,MAA5B;AACAV,MAAAA,YAAY,CAACK,KAAb,CAAmBK,MAAnB,GAA4BV,YAAY,CAACkC,YAAb,GAA4B,CAA5B,GAAgC,IAA5D;AAEAlC,MAAAA,YAAY,CAACmC,KAAb;;AAEA,UAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAAA5C,CAAC,EAAI;AAC1B;AACA,YAAIA,CAAC,CAAC6C,OAAF,KAAc,EAAd,IAAoB,CAAC7C,CAAC,CAAC8C,QAA3B,EAAqC;AACnC,UAAA,KAAI,CAACzC,cAAL,CAAoBpB,EAApB,EAAwB,KAAxB;;AACA,UAAA,KAAI,CAAC8D,SAAL,CAAe9D,EAAf,EAAmBqB,QAAnB,EAA6BE,YAA7B;AACD,SALyB,CAO1B;;;AACA,YAAIR,CAAC,CAAC6C,OAAF,KAAc,EAAlB,EAAsB;AACpB,UAAA,KAAI,CAACxC,cAAL,CAAoBpB,EAApB,EAAwB,KAAxB;AACD;AACF,OAXD;;AAaAuB,MAAAA,YAAY,CAACwC,gBAAb,CAA8B,SAA9B,EAAyCJ,cAAzC;;AAEA,MAAA,KAAI,CAAChE,yBAAL,CAA+BM,IAA/B,CAAoC;AAAA,eAClCsB,YAAY,CAACyC,mBAAb,CAAiC,SAAjC,EAA4CL,cAA5C,CADkC;AAAA,OAApC;;AAIA,UAAMM,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB,QAAA,KAAI,CAACC,iBAAL;;AACA,QAAA,KAAI,CAACJ,SAAL,CAAe9D,EAAf,EAAmBqB,QAAnB,EAA6BE,YAA7B;AACD,OAHD;;AAKAA,MAAAA,YAAY,CAACwC,gBAAb,CAA8B,MAA9B,EAAsCE,WAAtC;;AAEA,MAAA,KAAI,CAACtE,yBAAL,CAA+BM,IAA/B,CAAoC;AAAA,eAClCsB,YAAY,CAACyC,mBAAb,CAAiC,MAAjC,EAAyCC,WAAzC,CADkC;AAAA,OAApC;;AAIA,MAAA,KAAI,CAACE,iBAAL,CAAuBnE,EAAvB,EAA2BE,SAA3B;;AACA,MAAA,KAAI,CAACR,KAAL,CAAWK,WAAX;AACD,KAvKkB;AAAA,8DAyKD,UAACgB,CAAD,EAAIM,QAAJ,EAAiB;AACjC,MAAA,KAAI,CAACA,QAAD,CAAJ,CAAe+C,QAAf,CAAwB;AACtBhE,QAAAA,KAAK,EAAE,KAAI,CAACiB,QAAD,CAAJ,CAAejB,KAAf,KAAyB,KAAI,CAACiB,QAAD,CAAJ,CAAegD,MAAf,EADV;AAEtBA,QAAAA,MAAM,EAAE;AAFc,OAAxB;AAID,KA9KkB;AACjB,SAAKvE,GAAL,GAAYJ,KAAK,IAAIA,KAAK,CAACI,GAAhB,IAAwB,EAAnC;AACA,SAAKH,yBAAL,GAAiC,EAAjC;AACD;;;;WA+BD,6BAAoB;AAClB,WAAKG,GAAL,CAASwE,GAAT,CAAa,UAAApD,IAAI,EAAI;AACnBA,QAAAA,IAAI,CAACV,WAAL,GAAmB,IAAnB;AACAU,QAAAA,IAAI,CAACT,kBAAL,GAA0B,KAA1B;AACAS,QAAAA,IAAI,CAACR,eAAL,GAAuB,KAAvB;AACD,OAJD;AAKD;;;WAED,wBAAeV,EAAf,EAAmB2B,KAAnB,EAA0B;AACxB,WAAK7B,GAAL,GAAW,KAAKA,GAAL,CAASwE,GAAT,CAAa,UAAApD,IAAI,EAAI;AAC9B,YAAIA,IAAI,CAAClB,EAAL,KAAYA,EAAhB,EAAoB;AAClB,iDACKkB,IADL;AAEEV,YAAAA,WAAW,EAAE,CAACmB,KAFhB;AAGElB,YAAAA,kBAAkB,EAAE,CAACkB,KAHvB;AAIEjB,YAAAA,eAAe,EAAEiB;AAJnB;AAMD;;AACD,eAAOT,IAAP;AACD,OAVU,CAAX;AAWA,WAAKxB,KAAL,CAAWK,WAAX;AACD;;;WAED,2BAAkBC,EAAlB,EAAsBE,SAAtB,EAAiC;AAC/B,UAAIA,SAAJ,EAAe;AACb,YAAMc,OAAO,GAAG,KAAKlB,GAAL,CAASmB,MAAT,CAAgB,UAAAC,IAAI;AAAA,iBAAIA,IAAI,CAAClB,EAAL,KAAYA,EAAhB;AAAA,SAApB,EAAwC,CAAxC,CAAhB;AACAgB,QAAAA,OAAO,CAACd,SAAR,GAAoB,KAApB;AACD;AACF;;;WAED,mBAAUF,EAAV,EAAcqB,QAAd,EAAwBE,YAAxB,EAAsC;AACpC,UAAIA,YAAY,CAACI,KAAjB,EAAwB;AACtBN,QAAAA,QAAQ,CAACF,IAAT,CAAcI,YAAY,CAACI,KAA3B;AACD,OAFD,MAEO;AACL,aAAK7B,GAAL,GAAW,KAAKA,GAAL,CAASmB,MAAT,CAAgB,UAAAE,IAAI;AAAA,iBAAIA,IAAI,CAACnB,EAAL,KAAYA,EAAhB;AAAA,SAApB,CAAX;AACA,aAAKN,KAAL,CAAWK,WAAX;AACD;;AAED,WAAKL,KAAL,CAAWmB,mBAAX;AACD;;;WAuGD,2BAAkB;AAAA;;AAChB,aAAO,KAAKf,GAAL,CAASwE,GAAT,CAAa,UAAAnD,IAAI,EAAI;AAAA,YAClBnB,EADkB,GACMmB,IADN,CAClBnB,EADkB;AAAA,YACdU,eADc,GACMS,IADN,CACdT,eADc;AAE1B,YAAMa,YAAY,sBAAevB,EAAf,CAAlB;AAEA,4BACE;AACE,UAAA,GAAG,EAAEuB,YADP;AAEE,UAAA,GAAG,EAAE,aAAAgD,QAAQ,EAAI;AACf,YAAA,MAAI,CAAChD,YAAD,CAAJ,GAAqBgD,QAArB;AACD,WAJH;AAKE,UAAA,KAAK,EAAE;AAAEC,YAAAA,OAAO,YAAK9D,eAAe,GAAG,OAAH,GAAa,MAAjC;AAAT;AALT,UADF;AASD,OAbM,CAAP;AAcD;;;WAED,yBAAgBhB,KAAhB,EAAuB;AACrB,UAAI,CAAC,KAAKA,KAAV,EAAiB;AACf,aAAKA,KAAL,GAAaA,KAAb;AACD;AACF;;;WAED,gBAAOA,KAAP,EAAc;AAAA;;AACZ,WAAK+E,eAAL,CAAqB/E,KAArB;;AAEA,UAAIA,KAAK,CAACgF,KAAV,EAAiB;AACf,YAAMC,QAAQ,GAAGjF,KAAK,CAACgF,KAAvB,CADe,CAGf;;AACA,YAAIC,QAAQ,KAAK,KAAKD,KAAtB,EAA6B;AAC3B,cAAME,iBAAiB,GAAG,SAApBA,iBAAoB,CAAA7D,CAAC,EAAI;AAC7B,gBAAIA,CAAC,CAAC8D,MAAF,KAAa,MAAI,CAACH,KAAtB,EAA6B;AAC3B;AACD;;AAED,YAAA,MAAI,CAACR,iBAAL;;AACA,YAAA,MAAI,CAACxE,KAAL,CAAWK,WAAX;AACD,WAPD;;AASA4E,UAAAA,QAAQ,CAACG,EAAT,CAAY,OAAZ,EAAqBF,iBAArB;AAEA,eAAKjF,yBAAL,CAA+BM,IAA/B,CAAoC;AAAA,mBAClC0E,QAAQ,CAACI,GAAT,CAAa,OAAb,EAAsBH,iBAAtB,CADkC;AAAA,WAApC;AAGD;;AAED,aAAKF,KAAL,GAAaC,QAAb;AACD;;AAED,aAAO,KAAK7E,GAAL,CAASwE,GAAT,CAAa,UAAAnD,IAAI,EAAI;AAAA,YAExBnB,EAFwB,GAUtBmB,IAVsB,CAExBnB,EAFwB;AAAA,YAGxBG,KAHwB,GAUtBgB,IAVsB,CAGxBhB,KAHwB;AAAA,YAIxBE,CAJwB,GAUtBc,IAVsB,CAIxBd,CAJwB;AAAA,YAKxBE,CALwB,GAUtBY,IAVsB,CAKxBZ,CALwB;AAAA,YAMxBH,KANwB,GAUtBe,IAVsB,CAMxBf,KANwB;AAAA,YAOxBI,WAPwB,GAUtBW,IAVsB,CAOxBX,WAPwB;AAAA,YAQxBwC,QARwB,GAUtB7B,IAVsB,CAQxB6B,QARwB;AAAA,YASxBvC,kBATwB,GAUtBU,IAVsB,CASxBV,kBATwB;AAY1B,YAAMY,QAAQ,kBAAWrB,EAAX,CAAd;AACA,YAAMgF,eAAe,yBAAkBhF,EAAlB,CAArB;AACA,YAAIiF,UAAU,GAAG,EAAjB;;AAEA,YAAI,CAACvF,KAAK,CAACwF,QAAX,EAAqB;AACnBD,UAAAA,UAAU,GAAG;AACXE,YAAAA,OAAO,EAAE,iBAAApE,CAAC;AAAA,qBAAI,MAAI,CAACqE,WAAL,CAAiBrE,CAAjB,EAAoBf,EAApB,CAAJ;AAAA,aADC;AAEXqF,YAAAA,UAAU,EAAE,oBAAAtE,CAAC;AAAA,qBAAI,MAAI,CAACuE,cAAL,CAAoBvE,CAApB,EAAuBI,IAAvB,CAAJ;AAAA,aAFF;AAGXoE,YAAAA,WAAW,EAAE,qBAAAxE,CAAC;AAAA,qBAAI,MAAI,CAACyE,eAAL,CAAqBzE,CAArB,EAAwBM,QAAxB,CAAJ;AAAA,aAHH;AAIXoE,YAAAA,cAAc,EAAE,MAAI,CAAC/F,KAAL,CAAWmB,mBAJhB;AAKX6E,YAAAA,WAAW,EAAE,MAAI,CAACC,eALP;AAMXC,YAAAA,SAAS,EAAE,MAAI,CAACC,aANL;AAOXC,YAAAA,SAAS,EAAE,MAAI,CAACpG,KAAL,CAAWmB,mBAPX;AAQXkF,YAAAA,YAAY,EAAE,MAAI,CAACrG,KAAL,CAAWsG,kBARd;AASXC,YAAAA,YAAY,EAAE,MAAI,CAACvG,KAAL,CAAWwG;AATd,WAAb;AAWD;;AAED,YAAIlD,QAAJ,EAAc;AACZiC,UAAAA,UAAU,CAACjC,QAAX,GAAsBA,QAAtB;AACD;;AAED,eAAO,cACL,gCAAC,gBAAD;AACE,UAAA,GAAG,EAAEhD,EADP;AAEE,UAAA,OAAO,EAAE,IAFX;AAGE,UAAA,EAAE,EAAEA,EAHN;AAIE,UAAA,GAAG,EAAE,aAAAmB,IAAI,EAAI;AACX,YAAA,MAAI,CAACE,QAAD,CAAJ,GAAiBF,IAAjB;AACD,WANH;AAOE,UAAA,IAAI,EAAEA,IAAI,CAACA,IAAL,IAAahB,KAPrB;AAQE,UAAA,IAAI,EAAEkB,QARR;AASE,UAAA,CAAC,EAAEhB,CATL;AAUE,UAAA,CAAC,EAAEE,CAVL;AAWE,UAAA,KAAK,EAAEH,KAXT;AAYE,UAAA,SAAS,EAAE,CAACV,KAAK,CAACwF,QAZpB;AAaE,UAAA,OAAO,EAAE1E,WAbX;AAcE,UAAA,QAAQ,EAAE;AAdZ,WAeMyE,UAfN,EADK,EAkBLxE,kBAAkB,iBAChB,gCAAC,+BAAD;AACE,UAAA,GAAG,wBAAiBT,EAAjB,CADL;AAEE,UAAA,GAAG,EAAE,aAAAmB,IAAI,EAAI;AACX,YAAA,MAAI,CAAC6D,eAAD,CAAJ,GAAwB7D,IAAxB;AACD,WAJH;AAKE,UAAA,iBAAiB,EAAEE,QALrB;AAME,UAAA,WAAW,EAAE,MAAI,CAACsE,eANpB;AAOE,UAAA,SAAS,EAAE,MAAI,CAACE;AAPlB,UAnBG,CAAP;AA8BD,OAhEM,CAAP;AAiED;;;WA/SD,yBAAuB7F,EAAvB,EAA2B;AACzB,gCAAmBA,EAAnB;AACD;;;WAED,qBAAmBA,EAAnB,EAAuB;AACrB,4BAAeA,EAAf;AACD;;;WAED,4BAA0BA,EAA1B,EAA8B;AAC5B,mCAAsBA,EAAtB;AACD","sourcesContent":["import React from 'react';\nimport { Text } from 'react-konva';\n\nimport Transformer from './drawable-transformer';\n\nexport const generateId = () =>\n Math.random()\n .toString(36)\n .substring(2) + new Date().getTime().toString(36);\n\nexport default class TextDrawable {\n static getTextareaNode(id) {\n return `textarea_${id}`;\n }\n\n static getTextNode(id) {\n return `text_${id}`;\n }\n\n static getTransformerNode(id) {\n return `transformer_${id}`;\n }\n\n constructor(props) {\n this.all = (props && props.all) || [];\n this.eventListenersDetachArray = [];\n }\n\n removeEventListeners = () =>\n this.eventListenersDetachArray.forEach(fn => fn());\n\n setAll = all => {\n this.all = all;\n this.props.forceUpdate();\n };\n\n addNewTextEntry = () => {\n const all = this.all;\n const id = generateId();\n\n all.push({\n id: id,\n isDefault: true,\n label: 'Double click to edit this text. Press Enter to submit.',\n width: 200,\n x: (all.length + 1) * 5 + 50,\n y: (all.length + 1) * 5 + 50,\n textVisible: true,\n transformerVisible: true,\n textareaVisible: false,\n createdAt: new Date(),\n type: 'text-entry'\n });\n\n this.props.handleSessionChange();\n };\n\n showOnlyTextNodes() {\n this.all.map(item => {\n item.textVisible = true;\n item.transformerVisible = false;\n item.textareaVisible = false;\n });\n }\n\n toggleTextarea(id, value) {\n this.all = this.all.map(item => {\n if (item.id === id) {\n return {\n ...item,\n textVisible: !value,\n transformerVisible: !value,\n textareaVisible: value\n };\n }\n return item;\n });\n this.props.forceUpdate();\n }\n\n initializeDefault(id, isDefault) {\n if (isDefault) {\n const current = this.all.filter(item => item.id === id)[0];\n current.isDefault = false;\n }\n }\n\n saveValue(id, textNode, textareaNode) {\n if (textareaNode.value) {\n textNode.text(textareaNode.value);\n } else {\n this.all = this.all.filter(text => text.id !== id);\n this.props.forceUpdate();\n }\n\n this.props.handleSessionChange();\n }\n\n handleMouseDown = () => this.props.toggleTextSelected(true);\n handleMouseUp = () => this.props.toggleTextSelected(false);\n\n handleClick = (e, id) => {\n const current = this.all.filter(item => item.id === id)[0];\n current.transformerVisible = true;\n this.props.forceUpdate();\n };\n\n handleDblClick = (e, text) => {\n const { id, isDefault } = text;\n this.toggleTextarea(id, true);\n\n const textNode = this[TextDrawable.getTextNode(id)];\n const textareaNode = this[TextDrawable.getTextareaNode(id)];\n\n const areaPosition = textNode._lastPos;\n\n textareaNode.value = isDefault ? '' : textNode.text();\n textareaNode.style.position = 'absolute';\n textareaNode.style.top = areaPosition.y + 'px';\n textareaNode.style.left = areaPosition.x + 'px';\n textareaNode.style.width = textNode.width() - textNode.padding() * 2 + 'px';\n textareaNode.style.height =\n textNode.height() - textNode.padding() * 2 + 5 + 'px';\n textareaNode.style.fontSize = textNode.fontSize() + 'px';\n textareaNode.style.border = 'none';\n textareaNode.style.padding = '0px';\n textareaNode.style.margin = '0px';\n textareaNode.style.overflow = 'hidden';\n textareaNode.style.background = 'none';\n textareaNode.style.outline = 'none';\n textareaNode.style.resize = 'none';\n textareaNode.style.lineHeight = textNode.lineHeight();\n textareaNode.style.fontFamily = textNode.fontFamily();\n textareaNode.style.transformOrigin = 'left top';\n textareaNode.style.textAlign = textNode.align();\n textareaNode.style.color = textNode.fill();\n\n let rotation = textNode.rotation();\n let transform = '';\n if (rotation) {\n transform += 'rotateZ(' + rotation + 'deg)';\n }\n\n let px = 0;\n const isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n\n if (isFirefox) {\n px += 2 + Math.round(textNode.fontSize() / 20);\n }\n\n transform += 'translateY(-' + px + 'px)';\n\n textareaNode.style.transform = transform;\n textareaNode.style.height = 'auto';\n textareaNode.style.height = textareaNode.scrollHeight + 3 + 'px';\n\n textareaNode.focus();\n\n const keyDownHandler = e => {\n // hide on enter but don't hide on shift + enter\n if (e.keyCode === 13 && !e.shiftKey) {\n this.toggleTextarea(id, false);\n this.saveValue(id, textNode, textareaNode);\n }\n\n // on esc do not set value back to node\n if (e.keyCode === 27) {\n this.toggleTextarea(id, false);\n }\n };\n\n textareaNode.addEventListener('keydown', keyDownHandler);\n\n this.eventListenersDetachArray.push(() =>\n textareaNode.removeEventListener('keydown', keyDownHandler)\n );\n\n const blurHandler = () => {\n this.showOnlyTextNodes();\n this.saveValue(id, textNode, textareaNode);\n };\n\n textareaNode.addEventListener('blur', blurHandler);\n\n this.eventListenersDetachArray.push(() =>\n textareaNode.removeEventListener('blur', blurHandler)\n );\n\n this.initializeDefault(id, isDefault);\n this.props.forceUpdate();\n };\n\n handleTransform = (e, textNode) => {\n this[textNode].setAttrs({\n width: this[textNode].width() * this[textNode].scaleX(),\n scaleX: 1\n });\n };\n\n renderTextareas() {\n return this.all.map(text => {\n const { id, textareaVisible } = text;\n const textareaNode = `textarea_${id}`;\n\n return (\n <textarea\n key={textareaNode}\n ref={textarea => {\n this[textareaNode] = textarea;\n }}\n style={{ display: `${textareaVisible ? 'block' : 'none'}` }}\n />\n );\n });\n }\n\n setInitialProps(props) {\n if (!this.props) {\n this.props = props;\n }\n }\n\n render(props) {\n this.setInitialProps(props);\n\n if (props.stage) {\n const newStage = props.stage;\n\n // setting the handler only once\n if (newStage !== this.stage) {\n const stageClickHandler = e => {\n if (e.target !== this.stage) {\n return;\n }\n\n this.showOnlyTextNodes();\n this.props.forceUpdate();\n };\n\n newStage.on('click', stageClickHandler);\n\n this.eventListenersDetachArray.push(() =>\n newStage.off('click', stageClickHandler)\n );\n }\n\n this.stage = newStage;\n }\n\n return this.all.map(text => {\n const {\n id,\n label,\n x,\n y,\n width,\n textVisible,\n rotation,\n transformerVisible\n } = text;\n\n const textNode = `text_${id}`;\n const transformerNode = `transformer_${id}`;\n let extraProps = {};\n\n if (!props.disabled) {\n extraProps = {\n onClick: e => this.handleClick(e, id),\n onDblClick: e => this.handleDblClick(e, text),\n onTransform: e => this.handleTransform(e, textNode),\n onTransformEnd: this.props.handleSessionChange,\n onMouseDown: this.handleMouseDown,\n onMouseUp: this.handleMouseUp,\n onDragEnd: this.props.handleSessionChange,\n onMouseEnter: this.props.onMouseOverElement,\n onMouseLeave: this.props.onMouseOutElement,\n }\n }\n\n if (rotation) {\n extraProps.rotation = rotation;\n }\n\n return [\n <Text\n key={id}\n bubbles={true}\n id={id}\n ref={text => {\n this[textNode] = text;\n }}\n text={text.text || label}\n name={textNode}\n x={x}\n y={y}\n width={width}\n draggable={!props.disabled}\n visible={textVisible}\n fontSize={16}\n {...extraProps}\n />,\n transformerVisible && (\n <Transformer\n key={`transformer_${id}`}\n ref={text => {\n this[transformerNode] = text;\n }}\n selectedShapeName={textNode}\n onMouseDown={this.handleMouseDown}\n onMouseUp={this.handleMouseUp}\n />\n )\n ];\n });\n }\n}\n"],"file":"drawable-text.js"}
1
+ {"version":3,"sources":["../../src/drawing-response/drawable-text.jsx"],"names":["generateId","Math","random","toString","substring","Date","getTime","TextDrawable","props","eventListenersDetachArray","forEach","fn","all","forceUpdate","id","push","isDefault","label","width","x","length","y","textVisible","transformerVisible","textareaVisible","createdAt","type","handleSessionChange","toggleTextSelected","e","current","filter","item","text","toggleTextarea","textNode","getTextNode","textareaNode","getTextareaNode","areaPosition","_lastPos","value","style","position","top","left","padding","height","fontSize","border","margin","overflow","background","outline","resize","lineHeight","fontFamily","transformOrigin","textAlign","align","color","fill","rotation","transform","px","isFirefox","navigator","userAgent","toLowerCase","indexOf","round","scrollHeight","focus","keyDownHandler","keyCode","shiftKey","saveValue","addEventListener","removeEventListener","blurHandler","showOnlyTextNodes","initializeDefault","setAttrs","scaleX","map","textarea","display","setInitialProps","stage","newStage","stageClickHandler","target","on","off","transformerNode","extraProps","disabled","onClick","handleClick","onDblClick","handleDblClick","onTransform","handleTransform","onTransformEnd","onMouseDown","handleMouseDown","onMouseUp","handleMouseUp","onDragEnd","onMouseEnter","onMouseOverElement","onMouseLeave","onMouseOutElement"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Text } from 'react-konva';\n\nimport Transformer from './drawable-transformer';\n\nexport const generateId = () =>\n Math.random()\n .toString(36)\n .substring(2) + new Date().getTime().toString(36);\n\nexport default class TextDrawable {\n static getTextareaNode(id) {\n return `textarea_${id}`;\n }\n\n static getTextNode(id) {\n return `text_${id}`;\n }\n\n static getTransformerNode(id) {\n return `transformer_${id}`;\n }\n\n constructor(props) {\n this.all = (props && props.all) || [];\n this.eventListenersDetachArray = [];\n }\n\n removeEventListeners = () =>\n this.eventListenersDetachArray.forEach(fn => fn());\n\n setAll = all => {\n this.all = all;\n this.props.forceUpdate();\n };\n\n addNewTextEntry = () => {\n const all = this.all;\n const id = generateId();\n\n all.push({\n id: id,\n isDefault: true,\n label: 'Double click to edit this text. Press Enter to submit.',\n width: 200,\n x: (all.length + 1) * 5 + 50,\n y: (all.length + 1) * 5 + 50,\n textVisible: true,\n transformerVisible: true,\n textareaVisible: false,\n createdAt: new Date(),\n type: 'text-entry'\n });\n\n this.props.handleSessionChange();\n };\n\n showOnlyTextNodes() {\n this.all.map(item => {\n item.textVisible = true;\n item.transformerVisible = false;\n item.textareaVisible = false;\n });\n }\n\n toggleTextarea(id, value) {\n this.all = this.all.map(item => {\n if (item.id === id) {\n return {\n ...item,\n textVisible: !value,\n transformerVisible: !value,\n textareaVisible: value\n };\n }\n return item;\n });\n this.props.forceUpdate();\n }\n\n initializeDefault(id, isDefault) {\n if (isDefault) {\n const current = this.all.filter(item => item.id === id)[0];\n current.isDefault = false;\n }\n }\n\n saveValue(id, textNode, textareaNode) {\n if (textareaNode.value) {\n textNode.text(textareaNode.value);\n } else {\n this.all = this.all.filter(text => text.id !== id);\n this.props.forceUpdate();\n }\n\n this.props.handleSessionChange();\n }\n\n handleMouseDown = () => this.props.toggleTextSelected(true);\n handleMouseUp = () => this.props.toggleTextSelected(false);\n\n handleClick = (e, id) => {\n const current = this.all.filter(item => item.id === id)[0];\n current.transformerVisible = true;\n this.props.forceUpdate();\n };\n\n handleDblClick = (e, text) => {\n const { id, isDefault } = text;\n this.toggleTextarea(id, true);\n\n const textNode = this[TextDrawable.getTextNode(id)];\n const textareaNode = this[TextDrawable.getTextareaNode(id)];\n\n const areaPosition = textNode._lastPos;\n\n textareaNode.value = isDefault ? '' : textNode.text();\n textareaNode.style.position = 'absolute';\n textareaNode.style.top = areaPosition.y + 'px';\n textareaNode.style.left = areaPosition.x + 'px';\n textareaNode.style.width = textNode.width() - textNode.padding() * 2 + 'px';\n textareaNode.style.height =\n textNode.height() - textNode.padding() * 2 + 5 + 'px';\n textareaNode.style.fontSize = textNode.fontSize() + 'px';\n textareaNode.style.border = 'none';\n textareaNode.style.padding = '0px';\n textareaNode.style.margin = '0px';\n textareaNode.style.overflow = 'hidden';\n textareaNode.style.background = 'none';\n textareaNode.style.outline = 'none';\n textareaNode.style.resize = 'none';\n textareaNode.style.lineHeight = textNode.lineHeight();\n textareaNode.style.fontFamily = textNode.fontFamily();\n textareaNode.style.transformOrigin = 'left top';\n textareaNode.style.textAlign = textNode.align();\n textareaNode.style.color = textNode.fill();\n\n let rotation = textNode.rotation();\n let transform = '';\n if (rotation) {\n transform += 'rotateZ(' + rotation + 'deg)';\n }\n\n let px = 0;\n const isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n\n if (isFirefox) {\n px += 2 + Math.round(textNode.fontSize() / 20);\n }\n\n transform += 'translateY(-' + px + 'px)';\n\n textareaNode.style.transform = transform;\n textareaNode.style.height = 'auto';\n textareaNode.style.height = textareaNode.scrollHeight + 3 + 'px';\n\n textareaNode.focus();\n\n const keyDownHandler = e => {\n // hide on enter but don't hide on shift + enter\n if (e.keyCode === 13 && !e.shiftKey) {\n this.toggleTextarea(id, false);\n this.saveValue(id, textNode, textareaNode);\n }\n\n // on esc do not set value back to node\n if (e.keyCode === 27) {\n this.toggleTextarea(id, false);\n }\n };\n\n textareaNode.addEventListener('keydown', keyDownHandler);\n\n this.eventListenersDetachArray.push(() =>\n textareaNode.removeEventListener('keydown', keyDownHandler)\n );\n\n const blurHandler = () => {\n this.showOnlyTextNodes();\n this.saveValue(id, textNode, textareaNode);\n };\n\n textareaNode.addEventListener('blur', blurHandler);\n\n this.eventListenersDetachArray.push(() =>\n textareaNode.removeEventListener('blur', blurHandler)\n );\n\n this.initializeDefault(id, isDefault);\n this.props.forceUpdate();\n };\n\n handleTransform = (e, textNode) => {\n this[textNode].setAttrs({\n width: this[textNode].width() * this[textNode].scaleX(),\n scaleX: 1\n });\n };\n\n renderTextareas() {\n return this.all.map(text => {\n const { id, textareaVisible } = text;\n const textareaNode = `textarea_${id}`;\n\n return (\n <textarea\n key={textareaNode}\n ref={textarea => {\n this[textareaNode] = textarea;\n }}\n style={{ display: `${textareaVisible ? 'block' : 'none'}` }}\n />\n );\n });\n }\n\n setInitialProps(props) {\n if (!this.props) {\n this.props = props;\n }\n }\n\n render(props) {\n this.setInitialProps(props);\n\n if (props.stage) {\n const newStage = props.stage;\n\n // setting the handler only once\n if (newStage !== this.stage) {\n const stageClickHandler = e => {\n if (e.target !== this.stage) {\n return;\n }\n\n this.showOnlyTextNodes();\n this.props.forceUpdate();\n };\n\n newStage.on('click', stageClickHandler);\n\n this.eventListenersDetachArray.push(() =>\n newStage.off('click', stageClickHandler)\n );\n }\n\n this.stage = newStage;\n }\n\n return this.all.map(text => {\n const {\n id,\n label,\n x,\n y,\n width,\n textVisible,\n rotation,\n transformerVisible\n } = text;\n\n const textNode = `text_${id}`;\n const transformerNode = `transformer_${id}`;\n let extraProps = {};\n\n if (!props.disabled) {\n extraProps = {\n onClick: e => this.handleClick(e, id),\n onDblClick: e => this.handleDblClick(e, text),\n onTransform: e => this.handleTransform(e, textNode),\n onTransformEnd: this.props.handleSessionChange,\n onMouseDown: this.handleMouseDown,\n onMouseUp: this.handleMouseUp,\n onDragEnd: this.props.handleSessionChange,\n onMouseEnter: this.props.onMouseOverElement,\n onMouseLeave: this.props.onMouseOutElement,\n }\n }\n\n if (rotation) {\n extraProps.rotation = rotation;\n }\n\n return [\n <Text\n key={id}\n bubbles={true}\n id={id}\n ref={text => {\n this[textNode] = text;\n }}\n text={text.text || label}\n name={textNode}\n x={x}\n y={y}\n width={width}\n draggable={!props.disabled}\n visible={textVisible}\n fontSize={16}\n {...extraProps}\n />,\n transformerVisible && (\n <Transformer\n key={`transformer_${id}`}\n ref={text => {\n this[transformerNode] = text;\n }}\n selectedShapeName={textNode}\n onMouseDown={this.handleMouseDown}\n onMouseUp={this.handleMouseUp}\n />\n )\n ];\n });\n }\n}\n"],"file":"drawable-text.js"}
@@ -27,7 +27,7 @@ var _reactKonva = require("react-konva");
27
27
 
28
28
  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); }; }
29
29
 
30
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
30
+ 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; } }
31
31
 
32
32
  var TransformerComponent = /*#__PURE__*/function (_React$Component) {
33
33
  (0, _inherits2["default"])(TransformerComponent, _React$Component);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/drawing-response/drawable-transformer.jsx"],"names":["TransformerComponent","checkNode","stage","transformer","getStage","selectedShapeName","props","selectedNode","findOne","node","attachTo","detach","getLayer","batchDraw","React","Component","propTypes","PropTypes","string","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;IAEMA,oB;;;;;;;;;;;;WACJ,6BAAoB;AAClB,WAAKC,SAAL;AACD;;;WAED,8BAAqB;AACnB,WAAKA,SAAL;AACD;;;WAED,qBAAY;AACV;AACA,UAAMC,KAAK,GAAG,KAAKC,WAAL,CAAiBC,QAAjB,EAAd;AAFU,UAGFC,iBAHE,GAGoB,KAAKC,KAHzB,CAGFD,iBAHE;AAKV,UAAME,YAAY,GAAGL,KAAK,CAACM,OAAN,YAAkBH,iBAAlB,EAArB,CALU,CAMV;;AACA,UAAIE,YAAY,KAAK,KAAKJ,WAAL,CAAiBM,IAAjB,EAArB,EAA8C;AAC5C;AACD;;AAED,UAAIF,YAAJ,EAAkB;AAChB;AACA,aAAKJ,WAAL,CAAiBO,QAAjB,CAA0BH,YAA1B;AACD,OAHD,MAGO;AACL;AACA,aAAKJ,WAAL,CAAiBQ,MAAjB;AACD;;AACD,WAAKR,WAAL,CAAiBS,QAAjB,GAA4BC,SAA5B;AACD;;;WAED,kBAAS;AAAA;;AACP,0BACE,gCAAC,uBAAD;AACE,QAAA,GAAG,EAAE,aAAAJ,IAAI,EAAI;AAAE,UAAA,KAAI,CAACN,WAAL,GAAmBM,IAAnB;AAA0B,SAD3C;AAEE,QAAA,cAAc,EAAE,CAAC,aAAD,EAAgB,cAAhB;AAFlB,SAGM,KAAKH,KAHX,EADF;AAOD;;;EAtCgCQ,kBAAMC,S;;AAyCzCf,oBAAoB,CAACgB,SAArB,GAAiC;AAC/BX,EAAAA,iBAAiB,EAAEY,sBAAUC,MAAV,CAAiBC;AADL,CAAjC;eAIenB,oB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transformer } from 'react-konva';\n\nclass TransformerComponent extends React.Component {\n componentDidMount() {\n this.checkNode();\n }\n\n componentDidUpdate() {\n this.checkNode();\n }\n\n checkNode() {\n // here we need to manually attach or detach Transformer node\n const stage = this.transformer.getStage();\n const { selectedShapeName } = this.props;\n\n const selectedNode = stage.findOne(`.${selectedShapeName}`);\n // do nothing if selected node is already attached\n if (selectedNode === this.transformer.node()) {\n return;\n }\n\n if (selectedNode) {\n // attach to another node\n this.transformer.attachTo(selectedNode);\n } else {\n // remove transformer\n this.transformer.detach();\n }\n this.transformer.getLayer().batchDraw();\n }\n\n render() {\n return (\n <Transformer\n ref={node => { this.transformer = node; }}\n enabledAnchors={['middle-left', 'middle-right']}\n {...this.props}\n />\n );\n }\n}\n\nTransformerComponent.propTypes = {\n selectedShapeName: PropTypes.string.isRequired,\n};\n\nexport default TransformerComponent;\n"],"file":"drawable-transformer.js"}
1
+ {"version":3,"sources":["../../src/drawing-response/drawable-transformer.jsx"],"names":["TransformerComponent","checkNode","stage","transformer","getStage","selectedShapeName","props","selectedNode","findOne","node","attachTo","detach","getLayer","batchDraw","React","Component","propTypes","PropTypes","string","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;IAEMA,oB;;;;;;;;;;;;WACJ,6BAAoB;AAClB,WAAKC,SAAL;AACD;;;WAED,8BAAqB;AACnB,WAAKA,SAAL;AACD;;;WAED,qBAAY;AACV;AACA,UAAMC,KAAK,GAAG,KAAKC,WAAL,CAAiBC,QAAjB,EAAd;AACA,UAAQC,iBAAR,GAA8B,KAAKC,KAAnC,CAAQD,iBAAR;AAEA,UAAME,YAAY,GAAGL,KAAK,CAACM,OAAN,YAAkBH,iBAAlB,EAArB,CALU,CAMV;;AACA,UAAIE,YAAY,KAAK,KAAKJ,WAAL,CAAiBM,IAAjB,EAArB,EAA8C;AAC5C;AACD;;AAED,UAAIF,YAAJ,EAAkB;AAChB;AACA,aAAKJ,WAAL,CAAiBO,QAAjB,CAA0BH,YAA1B;AACD,OAHD,MAGO;AACL;AACA,aAAKJ,WAAL,CAAiBQ,MAAjB;AACD;;AACD,WAAKR,WAAL,CAAiBS,QAAjB,GAA4BC,SAA5B;AACD;;;WAED,kBAAS;AAAA;;AACP,0BACE,gCAAC,uBAAD;AACE,QAAA,GAAG,EAAE,aAAAJ,IAAI,EAAI;AAAE,UAAA,KAAI,CAACN,WAAL,GAAmBM,IAAnB;AAA0B,SAD3C;AAEE,QAAA,cAAc,EAAE,CAAC,aAAD,EAAgB,cAAhB;AAFlB,SAGM,KAAKH,KAHX,EADF;AAOD;;;EAtCgCQ,kBAAMC,S;;AAyCzCf,oBAAoB,CAACgB,SAArB,GAAiC;AAC/BX,EAAAA,iBAAiB,EAAEY,sBAAUC,MAAV,CAAiBC;AADL,CAAjC;eAIenB,oB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transformer } from 'react-konva';\n\nclass TransformerComponent extends React.Component {\n componentDidMount() {\n this.checkNode();\n }\n\n componentDidUpdate() {\n this.checkNode();\n }\n\n checkNode() {\n // here we need to manually attach or detach Transformer node\n const stage = this.transformer.getStage();\n const { selectedShapeName } = this.props;\n\n const selectedNode = stage.findOne(`.${selectedShapeName}`);\n // do nothing if selected node is already attached\n if (selectedNode === this.transformer.node()) {\n return;\n }\n\n if (selectedNode) {\n // attach to another node\n this.transformer.attachTo(selectedNode);\n } else {\n // remove transformer\n this.transformer.detach();\n }\n this.transformer.getLayer().batchDraw();\n }\n\n render() {\n return (\n <Transformer\n ref={node => { this.transformer = node; }}\n enabledAnchors={['middle-left', 'middle-right']}\n {...this.props}\n />\n );\n }\n}\n\nTransformerComponent.propTypes = {\n selectedShapeName: PropTypes.string.isRequired,\n};\n\nexport default TransformerComponent;\n"],"file":"drawable-transformer.js"}
@@ -31,7 +31,7 @@ var _container = _interopRequireDefault(require("./container"));
31
31
 
32
32
  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); }; }
33
33
 
34
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
34
+ 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; } }
35
35
 
36
36
  var DrawingResponseComponent = /*#__PURE__*/function (_React$Component) {
37
37
  (0, _inherits2["default"])(DrawingResponseComponent, _React$Component);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/drawing-response/index.jsx"],"names":["DrawingResponseComponent","props","state","showCorrect","hasError","model","disabled","imageDimensions","imageUrl","prompt","mode","teacherInstructions","session","onSessionChange","classes","errorMessage","isEvaluateMode","hidden","visible","__html","error","message","React","Component","propTypes","PropTypes","object","isRequired","func","styles","fontSize"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;IAEMA,wB;;;;;AACJ,oCAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AACA,UAAKC,KAAL,GAAa;AACXC,MAAAA,WAAW,EAAE,KADF;AAEXC,MAAAA,QAAQ,EAAE;AAFC,KAAb;AAFiB;AAMlB;;;;WAMD,kBAAS;AAAA,wBAaH,KAAKH,KAbF;AAAA,0CAELI,KAFK;AAAA,UAGHC,QAHG,qBAGHA,QAHG;AAAA,UAIHC,eAJG,qBAIHA,eAJG;AAAA,UAKHC,QALG,qBAKHA,QALG;AAAA,UAMHC,MANG,qBAMHA,MANG;AAAA,UAOHC,IAPG,qBAOHA,IAPG;AAAA,UAQHC,mBARG,qBAQHA,mBARG;AAAA,UAULC,OAVK,eAULA,OAVK;AAAA,UAWLC,eAXK,eAWLA,eAXK;AAAA,UAYLC,OAZK,eAYLA,OAZK;AAAA,wBAc4B,KAAKZ,KAdjC;AAAA,UAcCE,QAdD,eAcCA,QAdD;AAAA,UAcWW,YAdX,eAcWA,YAdX;AAeP,UAAMC,cAAc,GAAGN,IAAI,KAAK,UAAhC;AAEA,aAAON,QAAQ,gBACb,mEAAwBW,YAAxB,CADa,gBAGb,6CACGJ,mBAAmB,iBAClB,gCAAC,iBAAD,CAAO,QAAP,qBACE,gCAAC,qBAAD;AACE,QAAA,MAAM,EAAE;AACNM,UAAAA,MAAM,EAAE,2BADF;AAENC,UAAAA,OAAO,EAAE;AAFH;AADV,sBAME;AAAK,QAAA,uBAAuB,EAAE;AAAEC,UAAAA,MAAM,EAAER;AAAV;AAA9B,QANF,CADF,eASE,2CATF,CAFJ,eAeE,gCAAC,sBAAD;AAAY,QAAA,SAAS,EAAEG,OAAO,CAACL;AAA/B,sBACE;AAAM,QAAA,uBAAuB,EAAE;AAAEU,UAAAA,MAAM,EAAEV;AAAV;AAA/B,QADF,CAfF,eAmBE,gCAAC,qBAAD;AACE,QAAA,OAAO,EAAEG,OADX;AAEE,QAAA,eAAe,EAAEC,eAFnB;AAGE,QAAA,cAAc,EAAEG,cAHlB;AAIE,QAAA,eAAe,EAAET,eAJnB;AAKE,QAAA,QAAQ,EAAEC,QALZ;AAME,QAAA,QAAQ,EAAEF;AANZ,QAnBF,CAHF;AAgCD;;;WArDD,kCAAgCc,KAAhC,EAAuC;AACrC,aAAO;AAAEhB,QAAAA,QAAQ,EAAE,IAAZ;AAAkBW,QAAAA,YAAY,EAAEK,KAAK,CAACC;AAAtC,OAAP;AACD;;;EAXoCC,kBAAMC,S;;AAiE7CvB,wBAAwB,CAACwB,SAAzB,GAAqC;AACnCV,EAAAA,OAAO,EAAEW,sBAAUC,MADgB;AAEnCrB,EAAAA,KAAK,EAAEoB,sBAAUC,MAAV,CAAiBC,UAFW;AAGnCd,EAAAA,eAAe,EAAEY,sBAAUG,IAAV,CAAeD,UAHG;AAInCf,EAAAA,OAAO,EAAEa,sBAAUC,MAAV,CAAiBC;AAJS,CAArC;;AAOA,IAAME,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBpB,IAAAA,MAAM,EAAE;AACNqB,MAAAA,QAAQ,EAAE;AADJ;AADY,GAAP;AAAA,CAAf;;eAMe,wBAAWD,MAAX,EAAmB7B,wBAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport { Collapsible } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport Container from './container';\n\nclass DrawingResponseComponent extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n showCorrect: false,\n hasError: false\n };\n }\n\n static getDerivedStateFromError(error) {\n return { hasError: true, errorMessage: error.message };\n }\n\n render() {\n const {\n model: {\n disabled,\n imageDimensions,\n imageUrl,\n prompt,\n mode,\n teacherInstructions\n },\n session,\n onSessionChange,\n classes\n } = this.props;\n const { hasError, errorMessage } = this.state;\n const isEvaluateMode = mode === 'evaluate';\n\n return hasError ? (\n <div>An error occured: {errorMessage}</div>\n ) : (\n <div>\n {teacherInstructions && (\n <React.Fragment>\n <Collapsible\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions'\n }}\n >\n <div dangerouslySetInnerHTML={{ __html: teacherInstructions }} />\n </Collapsible>\n <br />\n </React.Fragment>\n )}\n\n <Typography className={classes.prompt}>\n <span dangerouslySetInnerHTML={{ __html: prompt }} />\n </Typography>\n\n <Container\n session={session}\n onSessionChange={onSessionChange}\n isEvaluateMode={isEvaluateMode}\n imageDimensions={imageDimensions}\n imageUrl={imageUrl}\n disabled={disabled}\n />\n </div>\n );\n }\n}\n\nDrawingResponseComponent.propTypes = {\n classes: PropTypes.object,\n model: PropTypes.object.isRequired,\n onSessionChange: PropTypes.func.isRequired,\n session: PropTypes.object.isRequired\n};\n\nconst styles = () => ({\n prompt: {\n fontSize: 'inherit'\n }\n});\n\nexport default withStyles(styles)(DrawingResponseComponent);\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/drawing-response/index.jsx"],"names":["DrawingResponseComponent","props","state","showCorrect","hasError","model","disabled","imageDimensions","imageUrl","prompt","mode","teacherInstructions","session","onSessionChange","classes","errorMessage","isEvaluateMode","hidden","visible","__html","error","message","React","Component","propTypes","PropTypes","object","isRequired","func","styles","fontSize"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;IAEMA,wB;;;;;AACJ,oCAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AACA,UAAKC,KAAL,GAAa;AACXC,MAAAA,WAAW,EAAE,KADF;AAEXC,MAAAA,QAAQ,EAAE;AAFC,KAAb;AAFiB;AAMlB;;;;WAMD,kBAAS;AACP,wBAYI,KAAKH,KAZT;AAAA,0CACEI,KADF;AAAA,UAEIC,QAFJ,qBAEIA,QAFJ;AAAA,UAGIC,eAHJ,qBAGIA,eAHJ;AAAA,UAIIC,QAJJ,qBAIIA,QAJJ;AAAA,UAKIC,MALJ,qBAKIA,MALJ;AAAA,UAMIC,IANJ,qBAMIA,IANJ;AAAA,UAOIC,mBAPJ,qBAOIA,mBAPJ;AAAA,UASEC,OATF,eASEA,OATF;AAAA,UAUEC,eAVF,eAUEA,eAVF;AAAA,UAWEC,OAXF,eAWEA,OAXF;AAaA,wBAAmC,KAAKZ,KAAxC;AAAA,UAAQE,QAAR,eAAQA,QAAR;AAAA,UAAkBW,YAAlB,eAAkBA,YAAlB;AACA,UAAMC,cAAc,GAAGN,IAAI,KAAK,UAAhC;AAEA,aAAON,QAAQ,gBACb,mEAAwBW,YAAxB,CADa,gBAGb,6CACGJ,mBAAmB,iBAClB,gCAAC,iBAAD,CAAO,QAAP,qBACE,gCAAC,qBAAD;AACE,QAAA,MAAM,EAAE;AACNM,UAAAA,MAAM,EAAE,2BADF;AAENC,UAAAA,OAAO,EAAE;AAFH;AADV,sBAME;AAAK,QAAA,uBAAuB,EAAE;AAAEC,UAAAA,MAAM,EAAER;AAAV;AAA9B,QANF,CADF,eASE,2CATF,CAFJ,eAeE,gCAAC,sBAAD;AAAY,QAAA,SAAS,EAAEG,OAAO,CAACL;AAA/B,sBACE;AAAM,QAAA,uBAAuB,EAAE;AAAEU,UAAAA,MAAM,EAAEV;AAAV;AAA/B,QADF,CAfF,eAmBE,gCAAC,qBAAD;AACE,QAAA,OAAO,EAAEG,OADX;AAEE,QAAA,eAAe,EAAEC,eAFnB;AAGE,QAAA,cAAc,EAAEG,cAHlB;AAIE,QAAA,eAAe,EAAET,eAJnB;AAKE,QAAA,QAAQ,EAAEC,QALZ;AAME,QAAA,QAAQ,EAAEF;AANZ,QAnBF,CAHF;AAgCD;;;WArDD,kCAAgCc,KAAhC,EAAuC;AACrC,aAAO;AAAEhB,QAAAA,QAAQ,EAAE,IAAZ;AAAkBW,QAAAA,YAAY,EAAEK,KAAK,CAACC;AAAtC,OAAP;AACD;;;EAXoCC,kBAAMC,S;;AAiE7CvB,wBAAwB,CAACwB,SAAzB,GAAqC;AACnCV,EAAAA,OAAO,EAAEW,sBAAUC,MADgB;AAEnCrB,EAAAA,KAAK,EAAEoB,sBAAUC,MAAV,CAAiBC,UAFW;AAGnCd,EAAAA,eAAe,EAAEY,sBAAUG,IAAV,CAAeD,UAHG;AAInCf,EAAAA,OAAO,EAAEa,sBAAUC,MAAV,CAAiBC;AAJS,CAArC;;AAOA,IAAME,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBpB,IAAAA,MAAM,EAAE;AACNqB,MAAAA,QAAQ,EAAE;AADJ;AADY,GAAP;AAAA,CAAf;;eAMe,wBAAWD,MAAX,EAAmB7B,wBAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport { Collapsible } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport Container from './container';\n\nclass DrawingResponseComponent extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n showCorrect: false,\n hasError: false\n };\n }\n\n static getDerivedStateFromError(error) {\n return { hasError: true, errorMessage: error.message };\n }\n\n render() {\n const {\n model: {\n disabled,\n imageDimensions,\n imageUrl,\n prompt,\n mode,\n teacherInstructions\n },\n session,\n onSessionChange,\n classes\n } = this.props;\n const { hasError, errorMessage } = this.state;\n const isEvaluateMode = mode === 'evaluate';\n\n return hasError ? (\n <div>An error occured: {errorMessage}</div>\n ) : (\n <div>\n {teacherInstructions && (\n <React.Fragment>\n <Collapsible\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions'\n }}\n >\n <div dangerouslySetInnerHTML={{ __html: teacherInstructions }} />\n </Collapsible>\n <br />\n </React.Fragment>\n )}\n\n <Typography className={classes.prompt}>\n <span dangerouslySetInnerHTML={{ __html: prompt }} />\n </Typography>\n\n <Container\n session={session}\n onSessionChange={onSessionChange}\n isEvaluateMode={isEvaluateMode}\n imageDimensions={imageDimensions}\n imageUrl={imageUrl}\n disabled={disabled}\n />\n </div>\n );\n }\n}\n\nDrawingResponseComponent.propTypes = {\n classes: PropTypes.object,\n model: PropTypes.object.isRequired,\n onSessionChange: PropTypes.func.isRequired,\n session: PropTypes.object.isRequired\n};\n\nconst styles = () => ({\n prompt: {\n fontSize: 'inherit'\n }\n});\n\nexport default withStyles(styles)(DrawingResponseComponent);\n"],"file":"index.js"}
package/lib/index.js CHANGED
@@ -37,7 +37,7 @@ var _drawingResponse = _interopRequireDefault(require("./drawing-response"));
37
37
 
38
38
  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); }; }
39
39
 
40
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
40
+ 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; } }
41
41
 
42
42
  var DrawingResponse = /*#__PURE__*/function (_HTMLElement) {
43
43
  (0, _inherits2["default"])(DrawingResponse, _HTMLElement);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-element/drawing-response",
3
- "version": "3.8.1",
3
+ "version": "3.9.1",
4
4
  "description": "",
5
5
  "repository": "pie-framework/pie-elements",
6
6
  "publishConfig": {
@@ -11,8 +11,8 @@
11
11
  "@mdi/js": "^3.6.95",
12
12
  "@mdi/react": "^1.1.1",
13
13
  "@pie-framework/pie-player-events": "^0.1.0",
14
- "@pie-lib/math-rendering": "^2.3.9",
15
- "@pie-lib/render-ui": "^4.12.0",
14
+ "@pie-lib/math-rendering": "^2.3.11",
15
+ "@pie-lib/render-ui": "^4.12.2",
16
16
  "classnames": "^2.2.6",
17
17
  "enzyme-to-json": "^3.3.5",
18
18
  "konva": "^3.4.1",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "author": "pie framework developers",
26
26
  "license": "ISC",
27
- "gitHead": "0df28892922b8611038d5dd69ff0d6c8ce5806a3",
27
+ "gitHead": "243c98d28ec37c12c92e9a9b9a890a7960e7a036",
28
28
  "scripts": {
29
29
  "postpublish": "../../scripts/postpublish"
30
30
  },