@pie-element/drawing-response 10.3.4-next.0 → 11.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configure/lib/button.js +23 -47
- package/configure/lib/button.js.map +1 -1
- package/configure/lib/defaults.js +2 -3
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/image-container.js +238 -327
- package/configure/lib/image-container.js.map +1 -1
- package/configure/lib/index.js +115 -182
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/root.js +194 -260
- package/configure/lib/root.js.map +1 -1
- package/configure/package.json +9 -7
- package/configure/src/__tests__/image-container.test.jsx +101 -37
- package/configure/src/__tests__/index.test.js +27 -5
- package/configure/src/__tests__/root.test.jsx +37 -21
- package/configure/src/button.jsx +14 -24
- package/configure/src/image-container.jsx +73 -77
- package/configure/src/index.js +12 -2
- package/configure/src/root.jsx +24 -25
- package/controller/lib/defaults.js +2 -3
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +39 -65
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +1 -1
- package/lib/drawing-response/button.js +35 -60
- package/lib/drawing-response/button.js.map +1 -1
- package/lib/drawing-response/constants.js +2 -3
- package/lib/drawing-response/constants.js.map +1 -1
- package/lib/drawing-response/container.js +270 -351
- package/lib/drawing-response/container.js.map +1 -1
- package/lib/drawing-response/drawable-circle.js +65 -104
- package/lib/drawing-response/drawable-circle.js.map +1 -1
- package/lib/drawing-response/drawable-eraser.js +50 -86
- package/lib/drawing-response/drawable-eraser.js.map +1 -1
- package/lib/drawing-response/drawable-free-path.js +56 -97
- package/lib/drawing-response/drawable-free-path.js.map +1 -1
- package/lib/drawing-response/drawable-helper.js +16 -28
- package/lib/drawing-response/drawable-helper.js.map +1 -1
- package/lib/drawing-response/drawable-image.js +30 -49
- package/lib/drawing-response/drawable-image.js.map +1 -1
- package/lib/drawing-response/drawable-line.js +60 -99
- package/lib/drawing-response/drawable-line.js.map +1 -1
- package/lib/drawing-response/drawable-main.js +273 -345
- package/lib/drawing-response/drawable-main.js.map +1 -1
- package/lib/drawing-response/drawable-palette.js +123 -166
- package/lib/drawing-response/drawable-palette.js.map +1 -1
- package/lib/drawing-response/drawable-rectangle.js +65 -104
- package/lib/drawing-response/drawable-rectangle.js.map +1 -1
- package/lib/drawing-response/drawable-text.js +201 -313
- package/lib/drawing-response/drawable-text.js.map +1 -1
- package/lib/drawing-response/drawable-transformer.js +36 -79
- package/lib/drawing-response/drawable-transformer.js.map +1 -1
- package/lib/drawing-response/factory.js +6 -19
- package/lib/drawing-response/factory.js.map +1 -1
- package/lib/drawing-response/icon.js +8 -24
- package/lib/drawing-response/icon.js.map +1 -1
- package/lib/drawing-response/index.js +74 -116
- package/lib/drawing-response/index.js.map +1 -1
- package/lib/index.js +51 -102
- package/lib/index.js.map +1 -1
- package/package.json +13 -12
- package/src/__tests__/drawing-index-test.jsx +90 -27
- package/src/drawing-response/__tests__/container.test.jsx +56 -36
- package/src/drawing-response/__tests__/drawing-main.test.jsx +158 -139
- package/src/drawing-response/button.jsx +23 -34
- package/src/drawing-response/container.jsx +39 -40
- package/src/drawing-response/drawable-image.jsx +17 -20
- package/src/drawing-response/drawable-main.jsx +67 -60
- package/src/drawing-response/drawable-palette.jsx +48 -54
- package/src/drawing-response/drawable-text.jsx +26 -38
- package/src/drawing-response/index.jsx +21 -20
- package/src/index.js +17 -2
- package/configure/src/__tests__/__snapshots__/image-container.test.jsx.snap +0 -45
- package/configure/src/__tests__/__snapshots__/root.test.jsx.snap +0 -185
- package/src/__tests__/__snapshots__/drawing-index-test.jsx.snap +0 -23
- package/src/drawing-response/__tests__/__snapshots__/container.test.jsx.snap +0 -396
- package/src/drawing-response/__tests__/__snapshots__/drawing-main.test.jsx.snap +0 -247
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/image-container.jsx"],"names":["isImage","file","imageType","type","match","ImageContainer","props","onImageUpload","insertImage","reader","FileReader","onloadend","result","readAsDataURL","fakeImageHandler","getChosenFile","isPasted","e","preventDefault","target","files","handleFileRead","setState","dropzoneActive","dataTransfer","items","kind","getAsFile","makeDropzoneInactive","state","makeDropzoneActive","dragEnabled","offsetHeight","offsetWidth","naturalHeight","naturalWidth","onUpdateImageDimension","imageDimensions","resizeHandle","resize","dimensions","height","width","imageAspectRatio","addEventListener","initialiseResize","window","startResizing","stopResizing","handleEnableDrag","removeEventListener","box","image","maxImageWidth","maxImageHeight","bounds","getBoundingClientRect","x","clientX","left","y","clientY","top","fitsContainer","hasMinimumWidth","style","handleDisableDrag","cancel","done","a","url","fileChosen","progress","imageSection","positionInfo","label","classes","handleInputClick","input","handleUploadImage","ref","imageUrl","base","boxActive","onDragExit","handleOnDragExit","onDragLeave","onDragOver","handleOnDragOver","onDrop","handleOnDrop","toolbar","renderUploadControl","drawableHeight","imageContainer","handleOnImageLoad","undefined","maxWidth","maxHeight","centered","Component","PropTypes","object","styles","theme","marginTop","spacing","unit","border","borderRadius","alignItems","display","flexDirection","justifyContent","minHeight","position","borderBottom","borderRight","bottom","cursor","right","backgroundColor","borderTopLeftRadius","borderTopRightRadius","padding","propTypes","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\n static propTypes = {\n imageDimensions: PropTypes.object,\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n this.state = {\n maxImageWidth: '100%',\n maxImageHeight: 'auto',\n dragEnabled: true,\n dropzoneActive: false,\n };\n this.fakeImageHandler = {\n cancel: () => {},\n done: (a, url) => this.props.onImageUpload(url),\n fileChosen: () => {},\n progress: () => {},\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, insertImage } = this.props;\n const reader = new FileReader();\n\n reader.onloadend = () => onImageUpload(reader.result);\n reader.readAsDataURL(file);\n\n if (insertImage) {\n insertImage({\n ...this.fakeImageHandler,\n getChosenFile: () => file,\n isPasted: true,\n });\n }\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 = () => {\n const { insertImage } = this.props;\n\n if (insertImage) {\n insertImage(this.fakeImageHandler);\n }\n };\n\n handleOnImageLoad = ({ target: { offsetHeight, offsetWidth, naturalHeight, naturalWidth } }) => {\n const { onUpdateImageDimension, imageDimensions } = this.props;\n const resizeHandle = this.resize;\n\n const dimensions = {\n height: (imageDimensions && imageDimensions.height) || offsetHeight || naturalHeight,\n width: (imageDimensions && imageDimensions.width) || offsetWidth || naturalWidth,\n };\n\n // check if aspect ratio is not respected on replacing image\n const imageAspectRatio = naturalWidth / naturalHeight;\n\n if (dimensions.width !== dimensions.height * imageAspectRatio) {\n dimensions.width = dimensions.height * imageAspectRatio;\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, maxImageHeight, dimensions } = 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 imageAspectRatio = dimensions.width / dimensions.height;\n const fitsContainer = x <= maxImageWidth + 5 && x / imageAspectRatio <= maxImageHeight + 5;\n const hasMinimumWidth = x > 150 && y > 150;\n\n if (fitsContainer && hasMinimumWidth && box) {\n box.style.width = `${x}px`;\n box.style.height = `${x / imageAspectRatio}px`;\n\n this.setState({\n dimensions: {\n width: x,\n height: x / imageAspectRatio,\n },\n });\n }\n\n this.handleDisableDrag();\n };\n\n renderUploadControl(label) {\n const { classes } = this.props;\n\n return (\n <div>\n <Button label={label} onClick={this.handleInputClick} />\n <input\n accept=\"image/*\"\n className={classes.input}\n onChange={this.handleUploadImage}\n ref={(ref) => {\n this.input = ref;\n }}\n type=\"file\"\n />\n </div>\n );\n }\n\n render() {\n const { classes, imageUrl, imageDimensions } = this.props;\n const { dropzoneActive, dragEnabled, maxImageHeight, maxImageWidth } = this.state;\n\n return (\n <div className={classes.base}>\n <div\n className={`${classes.box} ${dropzoneActive ? classes.boxActive : ''}`}\n {...(dragEnabled\n ? {\n onDragExit: this.handleOnDragExit,\n onDragLeave: this.handleOnDragExit,\n onDragOver: this.handleOnDragOver,\n onDrop: this.handleOnDrop,\n }\n : {})}\n >\n <div className={classes.toolbar}>{this.renderUploadControl(imageUrl ? 'Replace Image' : 'Upload Image')}</div>\n\n <div\n ref={(ref) => {\n this.imageSection = ref;\n }}\n className={classes.drawableHeight}\n >\n {imageUrl ? (\n <div className={classes.imageContainer}>\n <img\n className={classes.image}\n height=\"auto\"\n onLoad={this.handleOnImageLoad}\n ref={(ref) => {\n this.image = ref;\n }}\n src={imageUrl}\n style={{\n width: imageDimensions && imageDimensions.width ? imageDimensions.width : undefined,\n maxWidth: maxImageWidth,\n maxHeight: maxImageHeight,\n }}\n alt=\"\"\n />\n <div\n ref={(ref) => {\n this.resize = ref;\n }}\n className={classes.resize}\n />\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,\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 insertImage: PropTypes.func,\n};\n\nexport default withStyles(styles)(ImageContainer);\n"],"file":"image-container.js"}
|
|
1
|
+
{"version":3,"file":"image-container.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_styles","_button","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isImage","file","imageType","type","match","BaseContainer","styled","theme","marginTop","spacing","Box","active","border","borderRadius","CenteredDiv","alignItems","display","flexDirection","justifyContent","DrawableHeight","minHeight","Image","StyledImageContainer","position","width","ResizeHandle","borderBottom","borderRight","bottom","cursor","height","right","HiddenInput","Toolbar","backgroundColor","borderTopLeftRadius","borderTopRightRadius","padding","ImageContainer","Component","constructor","props","_defineProperty2","onImageUpload","insertImage","reader","FileReader","onloadend","result","readAsDataURL","fakeImageHandler","getChosenFile","isPasted","preventDefault","target","files","handleFileRead","setState","dropzoneActive","items","dataTransfer","kind","getAsFile","makeDropzoneInactive","state","makeDropzoneActive","dragEnabled","offsetHeight","offsetWidth","naturalHeight","naturalWidth","onUpdateImageDimension","imageDimensions","resizeHandle","resize","dimensions","imageAspectRatio","addEventListener","initialiseResize","window","startResizing","stopResizing","handleEnableDrag","removeEventListener","box","image","maxImageWidth","maxImageHeight","bounds","getBoundingClientRect","x","clientX","left","y","clientY","top","fitsContainer","hasMinimumWidth","style","handleDisableDrag","cancel","done","a","url","fileChosen","progress","componentDidMount","imageSection","positionInfo","renderUploadControl","label","createElement","onClick","handleInputClick","accept","onChange","handleUploadImage","ref","input","render","imageUrl","_extends2","onDragExit","handleOnDragExit","onDragLeave","onDragOver","handleOnDragOver","onDrop","handleOnDrop","onLoad","handleOnImageLoad","src","undefined","maxWidth","maxHeight","alt","as","exports","PropTypes","object","propTypes","string","isRequired","func","_default"],"sources":["../src/image-container.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\n\nimport Button from './button';\n\nconst isImage = (file) => {\n const imageType = /image.*/;\n return file.type.match(imageType);\n};\n\nconst BaseContainer = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(1),\n}));\n\nconst Box = styled('div')(({ active }) => ({\n border: active ? '1px solid #0032C2' : '1px solid #E0E1E6',\n borderRadius: '5px',\n}));\n\nconst CenteredDiv = styled('div')({\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n});\n\nconst DrawableHeight = styled('div')({\n minHeight: 350,\n});\n\nconst Image = styled('img')({\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center',\n});\n\nconst StyledImageContainer = styled('div')({\n position: 'relative',\n width: 'fit-content',\n});\n\nconst ResizeHandle = styled('div')({\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\nconst HiddenInput = styled('input')({\n display: 'none',\n});\n\nconst Toolbar = styled('div')({\n backgroundColor: '#ECEDF1',\n borderBottom: '1px solid #E0E1E6',\n borderTopLeftRadius: '5px',\n borderTopRightRadius: '5px',\n display: 'flex',\n padding: '12px 8px',\n});\n\nexport class ImageContainer extends Component {\n\n static propTypes = {\n imageDimensions: PropTypes.object,\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n this.state = {\n maxImageWidth: '100%',\n maxImageHeight: 'auto',\n dragEnabled: true,\n dropzoneActive: false,\n };\n this.fakeImageHandler = {\n cancel: () => {},\n done: (a, url) => this.props.onImageUpload(url),\n fileChosen: () => {},\n progress: () => {},\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, insertImage } = this.props;\n const reader = new FileReader();\n\n reader.onloadend = () => onImageUpload(reader.result);\n reader.readAsDataURL(file);\n\n if (insertImage) {\n insertImage({\n ...this.fakeImageHandler,\n getChosenFile: () => file,\n isPasted: true,\n });\n }\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 = () => {\n const { insertImage } = this.props;\n\n if (insertImage) {\n insertImage(this.fakeImageHandler);\n }\n };\n\n handleOnImageLoad = ({ target: { offsetHeight, offsetWidth, naturalHeight, naturalWidth } }) => {\n const { onUpdateImageDimension, imageDimensions } = this.props;\n const resizeHandle = this.resize;\n\n const dimensions = {\n height: (imageDimensions && imageDimensions.height) || offsetHeight || naturalHeight,\n width: (imageDimensions && imageDimensions.width) || offsetWidth || naturalWidth,\n };\n\n // check if aspect ratio is not respected on replacing image\n const imageAspectRatio = naturalWidth / naturalHeight;\n\n if (dimensions.width !== dimensions.height * imageAspectRatio) {\n dimensions.width = dimensions.height * imageAspectRatio;\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, maxImageHeight, dimensions } = 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 imageAspectRatio = dimensions.width / dimensions.height;\n const fitsContainer = x <= maxImageWidth + 5 && x / imageAspectRatio <= maxImageHeight + 5;\n const hasMinimumWidth = x > 150 && y > 150;\n\n if (fitsContainer && hasMinimumWidth && box) {\n box.style.width = `${x}px`;\n box.style.height = `${x / imageAspectRatio}px`;\n\n this.setState({\n dimensions: {\n width: x,\n height: x / imageAspectRatio,\n },\n });\n }\n\n this.handleDisableDrag();\n };\n\n renderUploadControl(label) {\n return (\n <div>\n <Button label={label} onClick={this.handleInputClick} />\n <HiddenInput\n accept=\"image/*\"\n onChange={this.handleUploadImage}\n ref={(ref) => {\n this.input = ref;\n }}\n type=\"file\"\n />\n </div>\n );\n }\n\n render() {\n const { imageUrl, imageDimensions } = this.props;\n const { dropzoneActive, dragEnabled, maxImageHeight, maxImageWidth } = this.state;\n\n return (\n <BaseContainer>\n <Box\n active={dropzoneActive}\n {...(dragEnabled\n ? {\n onDragExit: this.handleOnDragExit,\n onDragLeave: this.handleOnDragExit,\n onDragOver: this.handleOnDragOver,\n onDrop: this.handleOnDrop,\n }\n : {})}\n >\n <Toolbar>{this.renderUploadControl(imageUrl ? 'Replace Image' : 'Upload Image')}</Toolbar>\n\n <DrawableHeight\n ref={(ref) => {\n this.imageSection = ref;\n }}\n >\n {imageUrl ? (\n <StyledImageContainer>\n <Image\n height=\"auto\"\n onLoad={this.handleOnImageLoad}\n ref={(ref) => {\n this.image = ref;\n }}\n src={imageUrl}\n style={{\n width: imageDimensions && imageDimensions.width ? imageDimensions.width : undefined,\n maxWidth: maxImageWidth,\n maxHeight: maxImageHeight,\n }}\n alt=\"\"\n />\n <ResizeHandle\n ref={(ref) => {\n this.resize = ref;\n }}\n />\n </StyledImageContainer>\n ) : (\n <DrawableHeight as={CenteredDiv}>\n <label>Drag and drop or upload image from computer</label>\n <br />\n {this.renderUploadControl('Upload Image')}\n </DrawableHeight>\n )}\n </DrawableHeight>\n </Box>\n </BaseContainer>\n );\n }\n}\n\nImageContainer.propTypes = {\n imageUrl: PropTypes.string.isRequired,\n onImageUpload: PropTypes.func.isRequired,\n onUpdateImageDimension: PropTypes.func.isRequired,\n insertImage: PropTypes.func,\n};\n\nexport default ImageContainer;\n"],"mappings":"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","ignoreList":[]}
|
package/configure/lib/index.js
CHANGED
|
@@ -1,214 +1,147 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
|
-
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
23
|
-
|
|
7
|
+
exports.default = void 0;
|
|
24
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
9
|
var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
|
|
27
|
-
|
|
28
10
|
var _react = _interopRequireDefault(require("react"));
|
|
29
|
-
|
|
30
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
31
|
-
|
|
11
|
+
var _client = require("react-dom/client");
|
|
32
12
|
var _debug = _interopRequireDefault(require("debug"));
|
|
33
|
-
|
|
34
13
|
var _root = _interopRequireDefault(require("./root"));
|
|
35
|
-
|
|
36
14
|
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
var log = (0, _debug["default"])('hotspot:configure');
|
|
47
|
-
|
|
48
|
-
var DrawableResponseConfigure = /*#__PURE__*/function (_HTMLElement) {
|
|
49
|
-
(0, _inherits2["default"])(DrawableResponseConfigure, _HTMLElement);
|
|
50
|
-
|
|
51
|
-
var _super = _createSuper(DrawableResponseConfigure);
|
|
52
|
-
|
|
53
|
-
function DrawableResponseConfigure() {
|
|
54
|
-
var _this$_configuration$;
|
|
55
|
-
|
|
56
|
-
var _this;
|
|
57
|
-
|
|
58
|
-
(0, _classCallCheck2["default"])(this, DrawableResponseConfigure);
|
|
59
|
-
_this = _super.call(this);
|
|
60
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onModelChanged", function (m, reset) {
|
|
61
|
-
_this._model = m;
|
|
62
|
-
|
|
63
|
-
_this.dispatchModelUpdated(reset);
|
|
64
|
-
|
|
65
|
-
_this._render();
|
|
15
|
+
const log = (0, _debug.default)('hotspot:configure');
|
|
16
|
+
class DrawableResponseConfigure extends HTMLElement {
|
|
17
|
+
constructor() {
|
|
18
|
+
super();
|
|
19
|
+
(0, _defineProperty2.default)(this, "onModelChanged", (m, reset) => {
|
|
20
|
+
this._model = m;
|
|
21
|
+
this.dispatchModelUpdated(reset);
|
|
22
|
+
this._render();
|
|
66
23
|
});
|
|
67
|
-
(0, _defineProperty2
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
_this._render();
|
|
24
|
+
(0, _defineProperty2.default)(this, "onConfigurationChanged", c => {
|
|
25
|
+
this._configuration = c;
|
|
26
|
+
this._render();
|
|
71
27
|
});
|
|
72
|
-
(0, _defineProperty2
|
|
73
|
-
|
|
28
|
+
(0, _defineProperty2.default)(this, "insertImage", handler => {
|
|
29
|
+
this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
|
|
74
30
|
});
|
|
75
|
-
(0, _defineProperty2
|
|
76
|
-
|
|
31
|
+
(0, _defineProperty2.default)(this, "onDeleteImage", (src, done) => {
|
|
32
|
+
this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
|
|
77
33
|
});
|
|
78
|
-
|
|
79
|
-
|
|
34
|
+
this._root = null;
|
|
35
|
+
this._configuration = _defaults.default.configuration;
|
|
80
36
|
|
|
81
|
-
if
|
|
82
|
-
|
|
37
|
+
// if configuration.withRubric.forceEnabled is true, then we
|
|
38
|
+
// update the configuration (we do not want to display the toggle in the Settings Panel)
|
|
39
|
+
if (this._configuration.withRubric?.forceEnabled) {
|
|
40
|
+
this._configuration.withRubric.settings = false;
|
|
83
41
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
_this.onModelChanged = _this.onModelChanged.bind((0, _assertThisInitialized2["default"])(_this));
|
|
87
|
-
return _this;
|
|
42
|
+
this._model = DrawableResponseConfigure.createDefaultModel({}, this._configuration);
|
|
43
|
+
this.onModelChanged = this.onModelChanged.bind(this);
|
|
88
44
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
45
|
+
set model(s) {
|
|
46
|
+
this._model = DrawableResponseConfigure.createDefaultModel(s, this._configuration);
|
|
47
|
+
this._render();
|
|
48
|
+
}
|
|
49
|
+
set configuration(c) {
|
|
50
|
+
const newConfiguration = {
|
|
51
|
+
..._defaults.default.configuration,
|
|
52
|
+
...c
|
|
53
|
+
};
|
|
54
|
+
this._configuration = newConfiguration;
|
|
55
|
+
const {
|
|
56
|
+
withRubric = {}
|
|
57
|
+
} = c || {};
|
|
58
|
+
|
|
59
|
+
// if configuration.withRubric.forceEnabled is true, then we update the model
|
|
60
|
+
// without triggering the Model Updated event (for more details, check documentation)
|
|
61
|
+
// and also update the configuration (we do not want to display the toggle in the Settings Panel)
|
|
62
|
+
if (withRubric?.forceEnabled) {
|
|
63
|
+
this._configuration.withRubric.settings = false;
|
|
64
|
+
if (!this._model.rubricEnabled) {
|
|
65
|
+
this._model.rubricEnabled = true;
|
|
66
|
+
}
|
|
96
67
|
}
|
|
97
|
-
}, {
|
|
98
|
-
key: "configuration",
|
|
99
|
-
set: function set(c) {
|
|
100
|
-
var _newConfiguration$lan,
|
|
101
|
-
_this2 = this;
|
|
102
|
-
|
|
103
|
-
var newConfiguration = _objectSpread(_objectSpread({}, _defaults["default"].configuration), c);
|
|
104
|
-
|
|
105
|
-
this._configuration = newConfiguration;
|
|
106
|
-
|
|
107
|
-
var _ref = c || {},
|
|
108
|
-
_ref$withRubric = _ref.withRubric,
|
|
109
|
-
withRubric = _ref$withRubric === void 0 ? {} : _ref$withRubric; // if configuration.withRubric.forceEnabled is true, then we update the model
|
|
110
|
-
// without triggering the Model Updated event (for more details, check documentation)
|
|
111
|
-
// and also update the configuration (we do not want to display the toggle in the Settings Panel)
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
if (withRubric !== null && withRubric !== void 0 && withRubric.forceEnabled) {
|
|
115
|
-
this._configuration.withRubric.settings = false;
|
|
116
|
-
|
|
117
|
-
if (!this._model.rubricEnabled) {
|
|
118
|
-
this._model.rubricEnabled = true;
|
|
119
|
-
}
|
|
120
|
-
} // if language:enabled is true, then the corresponding default item model should include a language value;
|
|
121
|
-
// if it is false, then the language field should be omitted from the item model.
|
|
122
|
-
// if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,
|
|
123
|
-
// then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).
|
|
124
68
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
} // check if the language is already included in the languageChoices.options array
|
|
138
|
-
// and if not, then add it.
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
if (!this._configuration.languageChoices.options.find(function (option) {
|
|
142
|
-
return option.value === _this2._model.language;
|
|
143
|
-
})) {
|
|
144
|
-
this._configuration.languageChoices.options.push({
|
|
145
|
-
value: this._model.language,
|
|
146
|
-
label: this._model.language
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
} else {
|
|
150
|
-
delete this._model.language;
|
|
69
|
+
// if language:enabled is true, then the corresponding default item model should include a language value;
|
|
70
|
+
// if it is false, then the language field should be omitted from the item model.
|
|
71
|
+
// if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,
|
|
72
|
+
// then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).
|
|
73
|
+
if (newConfiguration?.language?.enabled) {
|
|
74
|
+
if (newConfiguration?.languageChoices?.options?.length) {
|
|
75
|
+
this._model.language = newConfiguration?.languageChoices.options[0].value;
|
|
76
|
+
}
|
|
77
|
+
} else if (newConfiguration.language.settings && this._model.language) {
|
|
78
|
+
this._configuration.language.enabled = true;
|
|
79
|
+
if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {
|
|
80
|
+
this._configuration.languageChoices.options = [];
|
|
151
81
|
}
|
|
152
82
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
value: function insertSound(handler) {
|
|
164
|
-
this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
|
|
83
|
+
// check if the language is already included in the languageChoices.options array
|
|
84
|
+
// and if not, then add it.
|
|
85
|
+
if (!this._configuration.languageChoices.options.find(option => option.value === this._model.language)) {
|
|
86
|
+
this._configuration.languageChoices.options.push({
|
|
87
|
+
value: this._model.language,
|
|
88
|
+
label: this._model.language
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
} else {
|
|
92
|
+
delete this._model.language;
|
|
165
93
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
94
|
+
this._render();
|
|
95
|
+
}
|
|
96
|
+
dispatchModelUpdated(reset) {
|
|
97
|
+
const resetValue = !!reset;
|
|
98
|
+
this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model, resetValue));
|
|
99
|
+
}
|
|
100
|
+
insertSound(handler) {
|
|
101
|
+
this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
|
|
102
|
+
}
|
|
103
|
+
onDeleteSound(src, done) {
|
|
104
|
+
this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
|
|
105
|
+
}
|
|
106
|
+
_render() {
|
|
107
|
+
log('_render');
|
|
108
|
+
let element = /*#__PURE__*/_react.default.createElement(_root.default, {
|
|
109
|
+
model: this._model,
|
|
110
|
+
configuration: this._configuration,
|
|
111
|
+
onModelChanged: this.onModelChanged,
|
|
112
|
+
onConfigurationChanged: this.onConfigurationChanged,
|
|
113
|
+
imageSupport: {
|
|
114
|
+
add: this.insertImage,
|
|
115
|
+
delete: this.onDeleteImage
|
|
116
|
+
},
|
|
117
|
+
uploadSoundSupport: {
|
|
118
|
+
add: this.insertSound.bind(this),
|
|
119
|
+
delete: this.onDeleteSound.bind(this)
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
if (!this._root) {
|
|
123
|
+
this._root = (0, _client.createRoot)(this);
|
|
170
124
|
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
var element = /*#__PURE__*/_react["default"].createElement(_root["default"], {
|
|
177
|
-
model: this._model,
|
|
178
|
-
configuration: this._configuration,
|
|
179
|
-
onModelChanged: this.onModelChanged,
|
|
180
|
-
onConfigurationChanged: this.onConfigurationChanged,
|
|
181
|
-
imageSupport: {
|
|
182
|
-
add: this.insertImage,
|
|
183
|
-
"delete": this.onDeleteImage
|
|
184
|
-
},
|
|
185
|
-
uploadSoundSupport: {
|
|
186
|
-
add: this.insertSound.bind(this),
|
|
187
|
-
"delete": this.onDeleteSound.bind(this)
|
|
188
|
-
}
|
|
189
|
-
});
|
|
190
|
-
|
|
191
|
-
_reactDom["default"].render(element, this);
|
|
125
|
+
this._root.render(element);
|
|
126
|
+
}
|
|
127
|
+
disconnectedCallback() {
|
|
128
|
+
if (this._root) {
|
|
129
|
+
this._root.unmount();
|
|
192
130
|
}
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
var defaultModel = _objectSpread(_objectSpread({}, _defaults["default"].model), model); // if configuration.withRubric.forceEnabled is true, then we update the model
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.default = DrawableResponseConfigure;
|
|
134
|
+
(0, _defineProperty2.default)(DrawableResponseConfigure, "createDefaultModel", (model = {}, config) => {
|
|
135
|
+
const defaultModel = {
|
|
136
|
+
..._defaults.default.model,
|
|
137
|
+
...model
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
// if configuration.withRubric.forceEnabled is true, then we update the model
|
|
205
141
|
// without triggering the Model Updated event (for more details, check documentation)
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
if (config !== null && config !== void 0 && (_config$withRubric = config.withRubric) !== null && _config$withRubric !== void 0 && _config$withRubric.forceEnabled && !defaultModel.rubricEnabled) {
|
|
142
|
+
if (config?.withRubric?.forceEnabled && !defaultModel.rubricEnabled) {
|
|
209
143
|
defaultModel.rubricEnabled = true;
|
|
210
144
|
}
|
|
211
|
-
|
|
212
145
|
return defaultModel;
|
|
213
146
|
});
|
|
214
147
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["log","DrawableResponseConfigure","m","reset","_model","dispatchModelUpdated","_render","c","_configuration","handler","dispatchEvent","InsertImageEvent","src","done","DeleteImageEvent","sensibleDefaults","configuration","withRubric","forceEnabled","settings","createDefaultModel","onModelChanged","bind","s","newConfiguration","rubricEnabled","language","enabled","languageChoices","options","length","value","find","option","push","label","resetValue","ModelUpdatedEvent","InsertSoundEvent","DeleteSoundEvent","element","React","createElement","Root","model","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","render","HTMLElement","config","defaultModel"],"mappings":"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","sourcesContent":["import {\n DeleteImageEvent,\n DeleteSoundEvent,\n InsertImageEvent,\n InsertSoundEvent,\n ModelUpdatedEvent,\n} from '@pie-framework/pie-configure-events';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\n\nimport Root from './root';\nimport sensibleDefaults from './defaults';\n\nconst log = debug('hotspot:configure');\n\nexport default class DrawableResponseConfigure extends HTMLElement {\n static createDefaultModel = (model = {}, config) => {\n const defaultModel = {\n ...sensibleDefaults.model,\n ...model,\n };\n\n // if configuration.withRubric.forceEnabled is true, then we update the model\n // without triggering the Model Updated event (for more details, check documentation)\n if (config?.withRubric?.forceEnabled && !defaultModel.rubricEnabled) {\n defaultModel.rubricEnabled = true;\n }\n\n return defaultModel;\n };\n\n constructor() {\n super();\n this._configuration = sensibleDefaults.configuration;\n\n // if configuration.withRubric.forceEnabled is true, then we\n // update the configuration (we do not want to display the toggle in the Settings Panel)\n if (this._configuration.withRubric?.forceEnabled) {\n this._configuration.withRubric.settings = false;\n }\n\n this._model = DrawableResponseConfigure.createDefaultModel({}, this._configuration);\n this.onModelChanged = this.onModelChanged.bind(this);\n }\n\n set model(s) {\n this._model = DrawableResponseConfigure.createDefaultModel(s, this._configuration);\n this._render();\n }\n\n set configuration(c) {\n const newConfiguration = {\n ...sensibleDefaults.configuration,\n ...c,\n };\n\n this._configuration = newConfiguration;\n\n const { withRubric = {} } = c || {};\n\n // if configuration.withRubric.forceEnabled is true, then we update the model\n // without triggering the Model Updated event (for more details, check documentation)\n // and also update the configuration (we do not want to display the toggle in the Settings Panel)\n if (withRubric?.forceEnabled) {\n this._configuration.withRubric.settings = false;\n\n if (!this._model.rubricEnabled) {\n this._model.rubricEnabled = true;\n }\n }\n\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n if (newConfiguration?.language?.enabled) {\n if (newConfiguration?.languageChoices?.options?.length) {\n this._model.language = newConfiguration?.languageChoices.options[0].value;\n }\n } else if (newConfiguration.language.settings && this._model.language) {\n this._configuration.language.enabled = true;\n\n if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {\n this._configuration.languageChoices.options = [];\n }\n\n // check if the language is already included in the languageChoices.options array\n // and if not, then add it.\n if (!this._configuration.languageChoices.options.find(option => option.value === this._model.language)) {\n this._configuration.languageChoices.options.push({\n value: this._model.language,\n label: this._model.language,\n });\n }\n } else {\n delete this._model.language;\n }\n\n this._render();\n }\n\n dispatchModelUpdated(reset) {\n const resetValue = !!reset;\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model, resetValue));\n }\n\n onModelChanged = (m, reset) => {\n this._model = m;\n this.dispatchModelUpdated(reset);\n this._render();\n };\n\n onConfigurationChanged = (c) => {\n this._configuration = c;\n\n this._render();\n };\n\n insertImage = (handler) => {\n this.dispatchEvent(new InsertImageEvent(handler));\n };\n\n onDeleteImage = (src, done) => {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n };\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n log('_render');\n\n let element = React.createElement(Root, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n imageSupport: {\n add: this.insertImage,\n delete: this.onDeleteImage,\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n ReactDOM.render(element, this);\n }\n}\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_pieConfigureEvents","require","_react","_interopRequireDefault","_client","_debug","_root","_defaults","log","debug","DrawableResponseConfigure","HTMLElement","constructor","_defineProperty2","default","m","reset","_model","dispatchModelUpdated","_render","c","_configuration","handler","dispatchEvent","InsertImageEvent","src","done","DeleteImageEvent","sensibleDefaults","configuration","withRubric","forceEnabled","settings","createDefaultModel","onModelChanged","bind","model","s","newConfiguration","rubricEnabled","language","enabled","languageChoices","options","length","value","find","option","push","label","resetValue","ModelUpdatedEvent","insertSound","InsertSoundEvent","onDeleteSound","DeleteSoundEvent","element","React","createElement","Root","onConfigurationChanged","imageSupport","add","insertImage","delete","onDeleteImage","uploadSoundSupport","createRoot","render","disconnectedCallback","unmount","exports","config","defaultModel"],"sources":["../src/index.js"],"sourcesContent":["import {\n DeleteImageEvent,\n DeleteSoundEvent,\n InsertImageEvent,\n InsertSoundEvent,\n ModelUpdatedEvent,\n} from '@pie-framework/pie-configure-events';\n\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport debug from 'debug';\n\nimport Root from './root';\nimport sensibleDefaults from './defaults';\n\nconst log = debug('hotspot:configure');\n\nexport default class DrawableResponseConfigure extends HTMLElement {\n static createDefaultModel = (model = {}, config) => {\n const defaultModel = {\n ...sensibleDefaults.model,\n ...model,\n };\n\n // if configuration.withRubric.forceEnabled is true, then we update the model\n // without triggering the Model Updated event (for more details, check documentation)\n if (config?.withRubric?.forceEnabled && !defaultModel.rubricEnabled) {\n defaultModel.rubricEnabled = true;\n }\n\n return defaultModel;\n };\n\n constructor() {\n super();\n this._root = null;\n this._configuration = sensibleDefaults.configuration;\n\n // if configuration.withRubric.forceEnabled is true, then we\n // update the configuration (we do not want to display the toggle in the Settings Panel)\n if (this._configuration.withRubric?.forceEnabled) {\n this._configuration.withRubric.settings = false;\n }\n\n this._model = DrawableResponseConfigure.createDefaultModel({}, this._configuration);\n this.onModelChanged = this.onModelChanged.bind(this);\n }\n\n set model(s) {\n this._model = DrawableResponseConfigure.createDefaultModel(s, this._configuration);\n this._render();\n }\n\n set configuration(c) {\n const newConfiguration = {\n ...sensibleDefaults.configuration,\n ...c,\n };\n\n this._configuration = newConfiguration;\n\n const { withRubric = {} } = c || {};\n\n // if configuration.withRubric.forceEnabled is true, then we update the model\n // without triggering the Model Updated event (for more details, check documentation)\n // and also update the configuration (we do not want to display the toggle in the Settings Panel)\n if (withRubric?.forceEnabled) {\n this._configuration.withRubric.settings = false;\n\n if (!this._model.rubricEnabled) {\n this._model.rubricEnabled = true;\n }\n }\n\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n if (newConfiguration?.language?.enabled) {\n if (newConfiguration?.languageChoices?.options?.length) {\n this._model.language = newConfiguration?.languageChoices.options[0].value;\n }\n } else if (newConfiguration.language.settings && this._model.language) {\n this._configuration.language.enabled = true;\n\n if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {\n this._configuration.languageChoices.options = [];\n }\n\n // check if the language is already included in the languageChoices.options array\n // and if not, then add it.\n if (!this._configuration.languageChoices.options.find(option => option.value === this._model.language)) {\n this._configuration.languageChoices.options.push({\n value: this._model.language,\n label: this._model.language,\n });\n }\n } else {\n delete this._model.language;\n }\n\n this._render();\n }\n\n dispatchModelUpdated(reset) {\n const resetValue = !!reset;\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model, resetValue));\n }\n\n onModelChanged = (m, reset) => {\n this._model = m;\n this.dispatchModelUpdated(reset);\n this._render();\n };\n\n onConfigurationChanged = (c) => {\n this._configuration = c;\n\n this._render();\n };\n\n insertImage = (handler) => {\n this.dispatchEvent(new InsertImageEvent(handler));\n };\n\n onDeleteImage = (src, done) => {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n };\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n log('_render');\n\n let element = React.createElement(Root, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n imageSupport: {\n add: this.insertImage,\n delete: this.onDeleteImage,\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(element);\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|