@pie-element/drawing-response 5.0.1-next.4 → 6.0.1-cr.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.
- package/CHANGELOG.md +18 -0
- package/configure/CHANGELOG.md +17 -0
- package/configure/package.json +1 -1
- package/configure/src/__tests__/index.test.js +0 -1
- package/configure/src/index.js +16 -4
- package/package.json +2 -2
- package/LICENSE.md +0 -5
- package/configure/lib/button.js +0 -61
- package/configure/lib/button.js.map +0 -1
- package/configure/lib/defaults.js +0 -56
- package/configure/lib/defaults.js.map +0 -1
- package/configure/lib/image-container.js +0 -364
- package/configure/lib/image-container.js.map +0 -1
- package/configure/lib/index.js +0 -143
- package/configure/lib/index.js.map +0 -1
- package/configure/lib/root.js +0 -256
- package/configure/lib/root.js.map +0 -1
- package/configure/node_modules/debug/CHANGELOG.md +0 -395
- package/configure/node_modules/debug/LICENSE +0 -19
- package/configure/node_modules/debug/README.md +0 -437
- package/configure/node_modules/debug/node.js +0 -1
- package/configure/node_modules/debug/package.json +0 -51
- package/configure/node_modules/debug/src/browser.js +0 -180
- package/configure/node_modules/debug/src/common.js +0 -249
- package/configure/node_modules/debug/src/index.js +0 -12
- package/configure/node_modules/debug/src/node.js +0 -177
- package/controller/lib/defaults.js +0 -16
- package/controller/lib/defaults.js.map +0 -1
- package/controller/lib/index.js +0 -84
- package/controller/lib/index.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,24 @@
|
|
|
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
|
+
# [6.0.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response@5.0.0...@pie-element/drawing-response@6.0.0) (2023-02-22)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **drawing-response, extended-text-entry:** imports ([795a39b](https://github.com/pie-framework/pie-elements/commit/795a39b2fa89301393c4075da2d6c64eb9220065))
|
|
12
|
+
* **drawing-response, extended-text-entry:** remove verifyRubric method. remove enabled logic ([bcd498d](https://github.com/pie-framework/pie-elements/commit/bcd498df3712a24643199103df7a72316c667a00))
|
|
13
|
+
* change withRubric type for extended-text-entry and drawing-response. docs update from different pr for multi-trait-rubric ([7bf77ad](https://github.com/pie-framework/pie-elements/commit/7bf77ada1a09bc56a053341bce9a0eaf02955672))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### BREAKING CHANGES
|
|
17
|
+
|
|
18
|
+
* **drawing-response, extended-text-entry:** create new versions to avoid issues
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
6
24
|
# [5.0.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response@4.7.0...@pie-element/drawing-response@5.0.0) (2023-02-14)
|
|
7
25
|
|
|
8
26
|
|
package/configure/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,23 @@
|
|
|
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
|
+
# [6.0.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response-configure@5.0.0...@pie-element/drawing-response-configure@6.0.0) (2023-02-22)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **drawing-response, extended-text-entry:** imports ([795a39b](https://github.com/pie-framework/pie-elements/commit/795a39b2fa89301393c4075da2d6c64eb9220065))
|
|
12
|
+
* **drawing-response, extended-text-entry:** remove verifyRubric method. remove enabled logic ([bcd498d](https://github.com/pie-framework/pie-elements/commit/bcd498df3712a24643199103df7a72316c667a00))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### BREAKING CHANGES
|
|
16
|
+
|
|
17
|
+
* **drawing-response, extended-text-entry:** create new versions to avoid issues
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
6
23
|
# [5.0.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/drawing-response-configure@4.6.0...@pie-element/drawing-response-configure@5.0.0) (2023-02-14)
|
|
7
24
|
|
|
8
25
|
|
package/configure/package.json
CHANGED
package/configure/src/index.js
CHANGED
|
@@ -16,28 +16,40 @@ import sensibleDefaults from './defaults';
|
|
|
16
16
|
const log = debug('hotspot:configure');
|
|
17
17
|
|
|
18
18
|
export default class DrawableResponseConfigure extends HTMLElement {
|
|
19
|
-
static createDefaultModel = (model = {}) => {
|
|
20
|
-
|
|
19
|
+
static createDefaultModel = (model = {}, config) => {
|
|
20
|
+
const defaultModel = {
|
|
21
21
|
...sensibleDefaults.model,
|
|
22
22
|
...model,
|
|
23
23
|
};
|
|
24
|
+
|
|
25
|
+
if (config?.withRubric?.forceEnabled && !defaultModel.rubricEnabled) {
|
|
26
|
+
defaultModel.rubricEnabled = true;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return defaultModel;
|
|
24
30
|
};
|
|
25
31
|
|
|
26
32
|
constructor() {
|
|
27
33
|
super();
|
|
28
34
|
this._configuration = sensibleDefaults.configuration;
|
|
29
|
-
this._model = DrawableResponseConfigure.createDefaultModel({});
|
|
35
|
+
this._model = DrawableResponseConfigure.createDefaultModel({}, this._configuration);
|
|
30
36
|
this.onModelChanged = this.onModelChanged.bind(this);
|
|
31
37
|
}
|
|
32
38
|
|
|
33
39
|
set model(s) {
|
|
34
|
-
this._model = DrawableResponseConfigure.createDefaultModel(s);
|
|
40
|
+
this._model = DrawableResponseConfigure.createDefaultModel(s, this._configuration);
|
|
35
41
|
this._render();
|
|
36
42
|
}
|
|
37
43
|
|
|
38
44
|
set configuration(c) {
|
|
39
45
|
this._configuration = c;
|
|
40
46
|
|
|
47
|
+
const { withRubric = {} } = c || {};
|
|
48
|
+
|
|
49
|
+
if (withRubric?.forceEnabled && !this._model.rubricEnabled) {
|
|
50
|
+
this._model.rubricEnabled = true;
|
|
51
|
+
}
|
|
52
|
+
|
|
41
53
|
this._render();
|
|
42
54
|
}
|
|
43
55
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/drawing-response",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.1-cr.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": "pie-framework/pie-elements",
|
|
6
6
|
"publishConfig": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
},
|
|
25
25
|
"author": "pie framework developers",
|
|
26
26
|
"license": "ISC",
|
|
27
|
-
"gitHead": "
|
|
27
|
+
"gitHead": "0e14ff981bcdc8a89a0e58484026496701bfdbc3",
|
|
28
28
|
"scripts": {
|
|
29
29
|
"postpublish": "../../scripts/postpublish"
|
|
30
30
|
},
|
package/LICENSE.md
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
Copyright 2019 CoreSpring Inc
|
|
2
|
-
|
|
3
|
-
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
|
4
|
-
|
|
5
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
package/configure/lib/button.js
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
-
|
|
14
|
-
var _styles = require("@material-ui/core/styles");
|
|
15
|
-
|
|
16
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
17
|
-
|
|
18
|
-
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
19
|
-
|
|
20
|
-
var RawButton = function RawButton(_ref) {
|
|
21
|
-
var classes = _ref.classes,
|
|
22
|
-
className = _ref.className,
|
|
23
|
-
label = _ref.label,
|
|
24
|
-
onClick = _ref.onClick,
|
|
25
|
-
disabled = _ref.disabled;
|
|
26
|
-
return /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
27
|
-
onClick: onClick,
|
|
28
|
-
disabled: disabled,
|
|
29
|
-
className: (0, _classnames["default"])(classes.addButton, className),
|
|
30
|
-
size: "small",
|
|
31
|
-
variant: "contained",
|
|
32
|
-
color: "default"
|
|
33
|
-
}, label);
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
RawButton.propTypes = {
|
|
37
|
-
classes: _propTypes["default"].object.isRequired,
|
|
38
|
-
className: _propTypes["default"].string,
|
|
39
|
-
disabled: _propTypes["default"].bool,
|
|
40
|
-
label: _propTypes["default"].string,
|
|
41
|
-
onClick: _propTypes["default"].func
|
|
42
|
-
};
|
|
43
|
-
RawButton.defaultProps = {
|
|
44
|
-
className: '',
|
|
45
|
-
disabled: false,
|
|
46
|
-
label: 'Add',
|
|
47
|
-
onClick: function onClick() {}
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
var styles = function styles() {
|
|
51
|
-
return {
|
|
52
|
-
addButton: {
|
|
53
|
-
marginLeft: 8
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
var ButtonStyled = (0, _styles.withStyles)(styles)(RawButton);
|
|
59
|
-
var _default = ButtonStyled;
|
|
60
|
-
exports["default"] = _default;
|
|
61
|
-
//# sourceMappingURL=button.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/button.jsx"],"names":["RawButton","classes","className","label","onClick","disabled","addButton","propTypes","PropTypes","object","isRequired","string","bool","func","defaultProps","styles","marginLeft","ButtonStyled"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,MAAYC,SAAZ,QAAYA,SAAZ;AAAA,MAAuBC,KAAvB,QAAuBA,KAAvB;AAAA,MAA8BC,OAA9B,QAA8BA,OAA9B;AAAA,MAAuCC,QAAvC,QAAuCA,QAAvC;AAAA,sBAChB,gCAAC,kBAAD;AACE,IAAA,OAAO,EAAED,OADX;AAEE,IAAA,QAAQ,EAAEC,QAFZ;AAGE,IAAA,SAAS,EAAE,4BAAWJ,OAAO,CAACK,SAAnB,EAA8BJ,SAA9B,CAHb;AAIE,IAAA,IAAI,EAAC,OAJP;AAKE,IAAA,OAAO,EAAC,WALV;AAME,IAAA,KAAK,EAAC;AANR,KAQGC,KARH,CADgB;AAAA,CAAlB;;AAaAH,SAAS,CAACO,SAAV,GAAsB;AACpBN,EAAAA,OAAO,EAAEO,sBAAUC,MAAV,CAAiBC,UADN;AAEpBR,EAAAA,SAAS,EAAEM,sBAAUG,MAFD;AAGpBN,EAAAA,QAAQ,EAAEG,sBAAUI,IAHA;AAIpBT,EAAAA,KAAK,EAAEK,sBAAUG,MAJG;AAKpBP,EAAAA,OAAO,EAAEI,sBAAUK;AALC,CAAtB;AAQAb,SAAS,CAACc,YAAV,GAAyB;AACvBZ,EAAAA,SAAS,EAAE,EADY;AAEvBG,EAAAA,QAAQ,EAAE,KAFa;AAGvBF,EAAAA,KAAK,EAAE,KAHgB;AAIvBC,EAAAA,OAAO,EAAE,mBAAM,CAAE;AAJM,CAAzB;;AAOA,IAAMW,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBT,IAAAA,SAAS,EAAE;AACTU,MAAAA,UAAU,EAAE;AADH;AADS,GAAP;AAAA,CAAf;;AAMA,IAAMC,YAAY,GAAG,wBAAWF,MAAX,EAAmBf,SAAnB,CAArB;eAEeiB,Y","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport Button from '@material-ui/core/Button';\n\nconst RawButton = ({ classes, className, label, onClick, disabled }) => (\n <Button\n onClick={onClick}\n disabled={disabled}\n className={classNames(classes.addButton, className)}\n size=\"small\"\n variant=\"contained\"\n color=\"default\"\n >\n {label}\n </Button>\n);\n\nRawButton.propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n label: PropTypes.string,\n onClick: PropTypes.func,\n};\n\nRawButton.defaultProps = {\n className: '',\n disabled: false,\n label: 'Add',\n onClick: () => {},\n};\n\nconst styles = () => ({\n addButton: {\n marginLeft: 8,\n },\n});\n\nconst ButtonStyled = withStyles(styles)(RawButton);\n\nexport default ButtonStyled;\n"],"file":"button.js"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
var _default = {
|
|
8
|
-
model: {
|
|
9
|
-
prompt: 'This is the question prompt',
|
|
10
|
-
imageUrl: '',
|
|
11
|
-
imageDimensions: {
|
|
12
|
-
height: 0,
|
|
13
|
-
width: 0
|
|
14
|
-
},
|
|
15
|
-
promptEnabled: true,
|
|
16
|
-
teacherInstructionsEnabled: true,
|
|
17
|
-
studentInstructionsEnabled: true,
|
|
18
|
-
backgroundImageEnabled: true,
|
|
19
|
-
spellCheckEnabled: true,
|
|
20
|
-
toolbarEditorPosition: 'bottom'
|
|
21
|
-
},
|
|
22
|
-
configuration: {
|
|
23
|
-
spellCheck: {
|
|
24
|
-
label: 'Spellcheck',
|
|
25
|
-
settings: false,
|
|
26
|
-
enabled: true
|
|
27
|
-
},
|
|
28
|
-
backgroundImage: {
|
|
29
|
-
settings: true,
|
|
30
|
-
label: 'Background Image'
|
|
31
|
-
},
|
|
32
|
-
prompt: {
|
|
33
|
-
settings: true,
|
|
34
|
-
label: 'Prompt'
|
|
35
|
-
},
|
|
36
|
-
settingsPanelDisabled: false,
|
|
37
|
-
teacherInstructions: {
|
|
38
|
-
settings: true,
|
|
39
|
-
label: 'Teacher Instructions'
|
|
40
|
-
},
|
|
41
|
-
maxImageWidth: {
|
|
42
|
-
teacherInstructions: 300,
|
|
43
|
-
prompt: 300
|
|
44
|
-
},
|
|
45
|
-
maxImageHeight: {
|
|
46
|
-
teacherInstructions: 300,
|
|
47
|
-
prompt: 300
|
|
48
|
-
},
|
|
49
|
-
withRubric: {
|
|
50
|
-
settings: false,
|
|
51
|
-
label: 'Add Rubric'
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
exports["default"] = _default;
|
|
56
|
-
//# sourceMappingURL=defaults.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.js"],"names":["model","prompt","imageUrl","imageDimensions","height","width","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","backgroundImageEnabled","spellCheckEnabled","toolbarEditorPosition","configuration","spellCheck","label","settings","enabled","backgroundImage","settingsPanelDisabled","teacherInstructions","maxImageWidth","maxImageHeight","withRubric"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,MAAM,EAAE,6BADH;AAELC,IAAAA,QAAQ,EAAE,EAFL;AAGLC,IAAAA,eAAe,EAAE;AACfC,MAAAA,MAAM,EAAE,CADO;AAEfC,MAAAA,KAAK,EAAE;AAFQ,KAHZ;AAOLC,IAAAA,aAAa,EAAE,IAPV;AAQLC,IAAAA,0BAA0B,EAAE,IARvB;AASLC,IAAAA,0BAA0B,EAAE,IATvB;AAULC,IAAAA,sBAAsB,EAAE,IAVnB;AAWLC,IAAAA,iBAAiB,EAAE,IAXd;AAYLC,IAAAA,qBAAqB,EAAE;AAZlB,GADM;AAebC,EAAAA,aAAa,EAAE;AACbC,IAAAA,UAAU,EAAE;AACVC,MAAAA,KAAK,EAAE,YADG;AAEVC,MAAAA,QAAQ,EAAE,KAFA;AAGVC,MAAAA,OAAO,EAAE;AAHC,KADC;AAMbC,IAAAA,eAAe,EAAE;AACfF,MAAAA,QAAQ,EAAE,IADK;AAEfD,MAAAA,KAAK,EAAE;AAFQ,KANJ;AAUbb,IAAAA,MAAM,EAAE;AACNc,MAAAA,QAAQ,EAAE,IADJ;AAEND,MAAAA,KAAK,EAAE;AAFD,KAVK;AAcbI,IAAAA,qBAAqB,EAAE,KAdV;AAebC,IAAAA,mBAAmB,EAAE;AACnBJ,MAAAA,QAAQ,EAAE,IADS;AAEnBD,MAAAA,KAAK,EAAE;AAFY,KAfR;AAmBbM,IAAAA,aAAa,EAAE;AACbD,MAAAA,mBAAmB,EAAE,GADR;AAEblB,MAAAA,MAAM,EAAE;AAFK,KAnBF;AAuBboB,IAAAA,cAAc,EAAE;AACdF,MAAAA,mBAAmB,EAAE,GADP;AAEdlB,MAAAA,MAAM,EAAE;AAFM,KAvBH;AA2BbqB,IAAAA,UAAU,EAAE;AACVP,MAAAA,QAAQ,EAAE,KADA;AAEVD,MAAAA,KAAK,EAAE;AAFG;AA3BC;AAfF,C","sourcesContent":["export default {\n model: {\n prompt: 'This is the question prompt',\n imageUrl: '',\n imageDimensions: {\n height: 0,\n width: 0,\n },\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n backgroundImageEnabled: true,\n spellCheckEnabled: true,\n toolbarEditorPosition: 'bottom',\n },\n configuration: {\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n backgroundImage: {\n settings: true,\n label: 'Background Image',\n },\n prompt: {\n settings: true,\n label: 'Prompt',\n },\n settingsPanelDisabled: false,\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n },\n};\n"],"file":"defaults.js"}
|
|
@@ -1,364 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports["default"] = exports.ImageContainer = void 0;
|
|
11
|
-
|
|
12
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
-
|
|
14
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
-
|
|
16
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
-
|
|
18
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
19
|
-
|
|
20
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
-
|
|
22
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
-
|
|
24
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
-
|
|
26
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
-
|
|
28
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
29
|
-
|
|
30
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
31
|
-
|
|
32
|
-
var _styles = require("@material-ui/core/styles");
|
|
33
|
-
|
|
34
|
-
var _button = _interopRequireDefault(require("./button"));
|
|
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
|
-
|
|
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); }; }
|
|
41
|
-
|
|
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; } }
|
|
43
|
-
|
|
44
|
-
var isImage = function isImage(file) {
|
|
45
|
-
var imageType = /image.*/;
|
|
46
|
-
return file.type.match(imageType);
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
var ImageContainer = /*#__PURE__*/function (_Component) {
|
|
50
|
-
(0, _inherits2["default"])(ImageContainer, _Component);
|
|
51
|
-
|
|
52
|
-
var _super = _createSuper(ImageContainer);
|
|
53
|
-
|
|
54
|
-
function ImageContainer(props) {
|
|
55
|
-
var _this;
|
|
56
|
-
|
|
57
|
-
(0, _classCallCheck2["default"])(this, ImageContainer);
|
|
58
|
-
_this = _super.call(this, props);
|
|
59
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleFileRead", function (file) {
|
|
60
|
-
var onImageUpload = _this.props.onImageUpload;
|
|
61
|
-
var reader = new FileReader();
|
|
62
|
-
|
|
63
|
-
reader.onloadend = function () {
|
|
64
|
-
onImageUpload(reader.result);
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
reader.readAsDataURL(file);
|
|
68
|
-
});
|
|
69
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleUploadImage", function (e) {
|
|
70
|
-
e.preventDefault();
|
|
71
|
-
var file = e.target.files[0];
|
|
72
|
-
|
|
73
|
-
_this.handleFileRead(file);
|
|
74
|
-
});
|
|
75
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "makeDropzoneActive", function () {
|
|
76
|
-
return _this.setState({
|
|
77
|
-
dropzoneActive: true
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "makeDropzoneInactive", function () {
|
|
81
|
-
return _this.setState({
|
|
82
|
-
dropzoneActive: false
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleOnDrop", function (e) {
|
|
86
|
-
e.preventDefault();
|
|
87
|
-
var _e$dataTransfer = e.dataTransfer,
|
|
88
|
-
items = _e$dataTransfer.items,
|
|
89
|
-
files = _e$dataTransfer.files;
|
|
90
|
-
|
|
91
|
-
if (items && items[0].kind === 'file') {
|
|
92
|
-
var file = items[0].getAsFile();
|
|
93
|
-
|
|
94
|
-
if (isImage(file)) {
|
|
95
|
-
_this.handleFileRead(file);
|
|
96
|
-
}
|
|
97
|
-
} else if (isImage(files[0])) {
|
|
98
|
-
_this.handleFileRead(files[0]);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
_this.makeDropzoneInactive();
|
|
102
|
-
});
|
|
103
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleOnDragOver", function (e) {
|
|
104
|
-
e.preventDefault();
|
|
105
|
-
var dropzoneActive = _this.state.dropzoneActive;
|
|
106
|
-
|
|
107
|
-
if (!dropzoneActive) {
|
|
108
|
-
_this.makeDropzoneActive();
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleOnDragExit", function (e) {
|
|
112
|
-
e.preventDefault();
|
|
113
|
-
|
|
114
|
-
_this.makeDropzoneInactive();
|
|
115
|
-
});
|
|
116
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleEnableDrag", function () {
|
|
117
|
-
return _this.setState({
|
|
118
|
-
dragEnabled: true
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleDisableDrag", function () {
|
|
122
|
-
return _this.setState({
|
|
123
|
-
dragEnabled: false
|
|
124
|
-
});
|
|
125
|
-
});
|
|
126
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleInputClick", function () {
|
|
127
|
-
return _this.input.click();
|
|
128
|
-
});
|
|
129
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleOnImageLoad", function (_ref) {
|
|
130
|
-
var _ref$target = _ref.target,
|
|
131
|
-
offsetHeight = _ref$target.offsetHeight,
|
|
132
|
-
offsetWidth = _ref$target.offsetWidth,
|
|
133
|
-
naturalHeight = _ref$target.naturalHeight,
|
|
134
|
-
naturalWidth = _ref$target.naturalWidth;
|
|
135
|
-
var _this$props = _this.props,
|
|
136
|
-
onUpdateImageDimension = _this$props.onUpdateImageDimension,
|
|
137
|
-
imageDimensions = _this$props.imageDimensions;
|
|
138
|
-
var resizeHandle = _this.resize;
|
|
139
|
-
var dimensions = {
|
|
140
|
-
height: imageDimensions && imageDimensions.height || offsetHeight || naturalHeight,
|
|
141
|
-
width: imageDimensions && imageDimensions.width || offsetWidth || naturalWidth
|
|
142
|
-
}; // check if aspect ratio is not respected on replacing image
|
|
143
|
-
|
|
144
|
-
var imageAspectRatio = naturalWidth / naturalHeight;
|
|
145
|
-
|
|
146
|
-
if (dimensions.width !== dimensions.height * imageAspectRatio) {
|
|
147
|
-
dimensions.width = dimensions.height * imageAspectRatio;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
_this.setState({
|
|
151
|
-
dimensions: dimensions
|
|
152
|
-
});
|
|
153
|
-
|
|
154
|
-
onUpdateImageDimension(dimensions);
|
|
155
|
-
resizeHandle.addEventListener('mousedown', _this.initialiseResize, false);
|
|
156
|
-
});
|
|
157
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "initialiseResize", function () {
|
|
158
|
-
window.addEventListener('mousemove', _this.startResizing, false);
|
|
159
|
-
window.addEventListener('mouseup', _this.stopResizing, false);
|
|
160
|
-
});
|
|
161
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "stopResizing", function () {
|
|
162
|
-
var onUpdateImageDimension = _this.props.onUpdateImageDimension;
|
|
163
|
-
var dimensions = _this.state.dimensions;
|
|
164
|
-
|
|
165
|
-
_this.handleEnableDrag();
|
|
166
|
-
|
|
167
|
-
onUpdateImageDimension(dimensions);
|
|
168
|
-
window.removeEventListener('mousemove', _this.startResizing, false);
|
|
169
|
-
window.removeEventListener('mouseup', _this.stopResizing, false);
|
|
170
|
-
});
|
|
171
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "startResizing", function (e) {
|
|
172
|
-
var box = _this.image;
|
|
173
|
-
var _this$state = _this.state,
|
|
174
|
-
maxImageWidth = _this$state.maxImageWidth,
|
|
175
|
-
maxImageHeight = _this$state.maxImageHeight,
|
|
176
|
-
dimensions = _this$state.dimensions;
|
|
177
|
-
var bounds = e.target.getBoundingClientRect();
|
|
178
|
-
var x = e.clientX - bounds.left;
|
|
179
|
-
var y = e.clientY - bounds.top;
|
|
180
|
-
var imageAspectRatio = dimensions.width / dimensions.height;
|
|
181
|
-
var fitsContainer = x <= maxImageWidth + 5 && x / imageAspectRatio <= maxImageHeight + 5;
|
|
182
|
-
var hasMinimumWidth = x > 150 && y > 150;
|
|
183
|
-
|
|
184
|
-
if (fitsContainer && hasMinimumWidth && box) {
|
|
185
|
-
box.style.width = "".concat(x, "px");
|
|
186
|
-
box.style.height = "".concat(x / imageAspectRatio, "px");
|
|
187
|
-
|
|
188
|
-
_this.setState({
|
|
189
|
-
dimensions: {
|
|
190
|
-
width: x,
|
|
191
|
-
height: x / imageAspectRatio
|
|
192
|
-
}
|
|
193
|
-
});
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
_this.handleDisableDrag();
|
|
197
|
-
});
|
|
198
|
-
_this.state = {
|
|
199
|
-
maxImageWidth: '100%',
|
|
200
|
-
maxImageHeight: 'auto',
|
|
201
|
-
dragEnabled: true,
|
|
202
|
-
dropzoneActive: false
|
|
203
|
-
};
|
|
204
|
-
return _this;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
(0, _createClass2["default"])(ImageContainer, [{
|
|
208
|
-
key: "componentDidMount",
|
|
209
|
-
value: function componentDidMount() {
|
|
210
|
-
if (this.imageSection) {
|
|
211
|
-
var positionInfo = this.imageSection.getBoundingClientRect();
|
|
212
|
-
var height = positionInfo.height,
|
|
213
|
-
width = positionInfo.width;
|
|
214
|
-
this.setState({
|
|
215
|
-
maxImageWidth: width,
|
|
216
|
-
maxImageHeight: height
|
|
217
|
-
});
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}, {
|
|
221
|
-
key: "renderUploadControl",
|
|
222
|
-
value: function renderUploadControl(label) {
|
|
223
|
-
var _this2 = this;
|
|
224
|
-
|
|
225
|
-
var classes = this.props.classes;
|
|
226
|
-
return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_button["default"], {
|
|
227
|
-
label: label,
|
|
228
|
-
onClick: this.handleInputClick
|
|
229
|
-
}), /*#__PURE__*/_react["default"].createElement("input", {
|
|
230
|
-
accept: "image/*",
|
|
231
|
-
className: classes.input,
|
|
232
|
-
onChange: this.handleUploadImage,
|
|
233
|
-
ref: function ref(_ref2) {
|
|
234
|
-
_this2.input = _ref2;
|
|
235
|
-
},
|
|
236
|
-
type: "file"
|
|
237
|
-
}));
|
|
238
|
-
}
|
|
239
|
-
}, {
|
|
240
|
-
key: "render",
|
|
241
|
-
value: function render() {
|
|
242
|
-
var _this3 = this;
|
|
243
|
-
|
|
244
|
-
var _this$props2 = this.props,
|
|
245
|
-
classes = _this$props2.classes,
|
|
246
|
-
imageUrl = _this$props2.imageUrl,
|
|
247
|
-
imageDimensions = _this$props2.imageDimensions;
|
|
248
|
-
var _this$state2 = this.state,
|
|
249
|
-
dropzoneActive = _this$state2.dropzoneActive,
|
|
250
|
-
dragEnabled = _this$state2.dragEnabled,
|
|
251
|
-
maxImageHeight = _this$state2.maxImageHeight,
|
|
252
|
-
maxImageWidth = _this$state2.maxImageWidth;
|
|
253
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
254
|
-
className: classes.base
|
|
255
|
-
}, /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
|
|
256
|
-
className: "".concat(classes.box, " ").concat(dropzoneActive ? classes.boxActive : '')
|
|
257
|
-
}, dragEnabled ? {
|
|
258
|
-
onDragExit: this.handleOnDragExit,
|
|
259
|
-
onDragLeave: this.handleOnDragExit,
|
|
260
|
-
onDragOver: this.handleOnDragOver,
|
|
261
|
-
onDrop: this.handleOnDrop
|
|
262
|
-
} : {}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
263
|
-
className: classes.toolbar
|
|
264
|
-
}, this.renderUploadControl(imageUrl ? 'Replace Image' : 'Upload Image')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
265
|
-
ref: function ref(_ref5) {
|
|
266
|
-
_this3.imageSection = _ref5;
|
|
267
|
-
},
|
|
268
|
-
className: classes.drawableHeight
|
|
269
|
-
}, imageUrl ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
270
|
-
className: classes.imageContainer
|
|
271
|
-
}, /*#__PURE__*/_react["default"].createElement("img", {
|
|
272
|
-
className: classes.image,
|
|
273
|
-
height: "auto",
|
|
274
|
-
onLoad: this.handleOnImageLoad,
|
|
275
|
-
ref: function ref(_ref3) {
|
|
276
|
-
_this3.image = _ref3;
|
|
277
|
-
},
|
|
278
|
-
src: imageUrl,
|
|
279
|
-
style: {
|
|
280
|
-
width: imageDimensions && imageDimensions.width ? imageDimensions.width : undefined,
|
|
281
|
-
maxWidth: maxImageWidth,
|
|
282
|
-
maxHeight: maxImageHeight
|
|
283
|
-
},
|
|
284
|
-
alt: ""
|
|
285
|
-
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
286
|
-
ref: function ref(_ref4) {
|
|
287
|
-
_this3.resize = _ref4;
|
|
288
|
-
},
|
|
289
|
-
className: classes.resize
|
|
290
|
-
})) : /*#__PURE__*/_react["default"].createElement("div", {
|
|
291
|
-
className: "".concat(classes.drawableHeight, " ").concat(classes.centered)
|
|
292
|
-
}, /*#__PURE__*/_react["default"].createElement("label", null, "Drag and drop or upload image from computer"), /*#__PURE__*/_react["default"].createElement("br", null), this.renderUploadControl('Upload Image')))));
|
|
293
|
-
}
|
|
294
|
-
}]);
|
|
295
|
-
return ImageContainer;
|
|
296
|
-
}(_react.Component);
|
|
297
|
-
|
|
298
|
-
exports.ImageContainer = ImageContainer;
|
|
299
|
-
|
|
300
|
-
var styles = function styles(theme) {
|
|
301
|
-
return {
|
|
302
|
-
base: {
|
|
303
|
-
marginTop: theme.spacing.unit * 2
|
|
304
|
-
},
|
|
305
|
-
box: {
|
|
306
|
-
border: '1px solid #E0E1E6',
|
|
307
|
-
borderRadius: '5px'
|
|
308
|
-
},
|
|
309
|
-
boxActive: {
|
|
310
|
-
border: '1px solid #0032C2'
|
|
311
|
-
},
|
|
312
|
-
centered: {
|
|
313
|
-
alignItems: 'center',
|
|
314
|
-
display: 'flex',
|
|
315
|
-
flexDirection: 'column',
|
|
316
|
-
justifyContent: 'center'
|
|
317
|
-
},
|
|
318
|
-
drawableHeight: {
|
|
319
|
-
minHeight: 350
|
|
320
|
-
},
|
|
321
|
-
image: {
|
|
322
|
-
alignItems: 'center',
|
|
323
|
-
display: 'flex',
|
|
324
|
-
justifyContent: 'center'
|
|
325
|
-
},
|
|
326
|
-
imageContainer: {
|
|
327
|
-
position: 'relative',
|
|
328
|
-
width: 'fit-content'
|
|
329
|
-
},
|
|
330
|
-
resize: {
|
|
331
|
-
borderBottom: '1px solid #727272',
|
|
332
|
-
borderRight: '1px solid #727272',
|
|
333
|
-
bottom: '-10px',
|
|
334
|
-
cursor: 'se-resize',
|
|
335
|
-
height: '10px',
|
|
336
|
-
position: 'absolute',
|
|
337
|
-
right: '-10px',
|
|
338
|
-
width: '10px'
|
|
339
|
-
},
|
|
340
|
-
input: {
|
|
341
|
-
display: 'none'
|
|
342
|
-
},
|
|
343
|
-
toolbar: {
|
|
344
|
-
backgroundColor: '#ECEDF1',
|
|
345
|
-
borderBottom: '1px solid #E0E1E6',
|
|
346
|
-
borderTopLeftRadius: '5px',
|
|
347
|
-
borderTopRightRadius: '5px',
|
|
348
|
-
display: 'flex',
|
|
349
|
-
padding: '12px 8px'
|
|
350
|
-
}
|
|
351
|
-
};
|
|
352
|
-
};
|
|
353
|
-
|
|
354
|
-
ImageContainer.propTypes = {
|
|
355
|
-
classes: _propTypes["default"].object.isRequired,
|
|
356
|
-
imageUrl: _propTypes["default"].string.isRequired,
|
|
357
|
-
onImageUpload: _propTypes["default"].func.isRequired,
|
|
358
|
-
onUpdateImageDimension: _propTypes["default"].func.isRequired
|
|
359
|
-
};
|
|
360
|
-
|
|
361
|
-
var _default = (0, _styles.withStyles)(styles)(ImageContainer);
|
|
362
|
-
|
|
363
|
-
exports["default"] = _default;
|
|
364
|
-
//# sourceMappingURL=image-container.js.map
|