@pie-element/drawing-response 4.2.1 → 4.2.2-next.2

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.
@@ -7,6 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = void 0;
9
9
 
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
15
 
12
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -55,6 +59,34 @@ var DrawableResponseConfigure = /*#__PURE__*/function (_HTMLElement) {
55
59
 
56
60
  (0, _classCallCheck2["default"])(this, DrawableResponseConfigure);
57
61
  _this = _super.call(this);
62
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "verifyRubric", /*#__PURE__*/function () {
63
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(c) {
64
+ var _ref2, withRubric;
65
+
66
+ return _regenerator["default"].wrap(function _callee$(_context) {
67
+ while (1) {
68
+ switch (_context.prev = _context.next) {
69
+ case 0:
70
+ _ref2 = c || {}, withRubric = _ref2.withRubric;
71
+
72
+ if (withRubric.enabled) {
73
+ _this._model.rubricEnabled = true;
74
+
75
+ _this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(_this._model));
76
+ }
77
+
78
+ case 2:
79
+ case "end":
80
+ return _context.stop();
81
+ }
82
+ }
83
+ }, _callee);
84
+ }));
85
+
86
+ return function (_x) {
87
+ return _ref.apply(this, arguments);
88
+ };
89
+ }());
58
90
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onModelChanged", function (m, reset) {
59
91
  _this._model = m;
60
92
 
@@ -65,6 +97,8 @@ var DrawableResponseConfigure = /*#__PURE__*/function (_HTMLElement) {
65
97
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onConfigurationChanged", function (c) {
66
98
  _this._configuration = c;
67
99
 
100
+ _this.verifyRubric(_this._configuration);
101
+
68
102
  _this._render();
69
103
  });
70
104
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "insertImage", function (handler) {
@@ -90,6 +124,7 @@ var DrawableResponseConfigure = /*#__PURE__*/function (_HTMLElement) {
90
124
  key: "configuration",
91
125
  set: function set(c) {
92
126
  this._configuration = c;
127
+ this.verifyRubric(this._configuration);
93
128
 
94
129
  this._render();
95
130
  }
@@ -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","createDefaultModel","sensibleDefaults","configuration","onModelChanged","bind","s","resetValue","ModelUpdatedEvent","InsertSoundEvent","DeleteSoundEvent","element","React","createElement","Root","model","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAQA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,mBAAN,CAAZ;;IAEqBC,yB;;;;;AAMnB,uCAAc;AAAA;;AAAA;AACZ;AADY,uGAuBG,UAACC,CAAD,EAAIC,KAAJ,EAAc;AAC7B,YAAKC,MAAL,GAAcF,CAAd;;AACA,YAAKG,oBAAL,CAA0BF,KAA1B;;AACA,YAAKG,OAAL;AACD,KA3Ba;AAAA,+GA6BW,UAACC,CAAD,EAAO;AAC9B,YAAKC,cAAL,GAAsBD,CAAtB;;AACA,YAAKD,OAAL;AACD,KAhCa;AAAA,oGAkCA,UAACG,OAAD,EAAa;AACzB,YAAKC,aAAL,CAAmB,IAAIC,oCAAJ,CAAqBF,OAArB,CAAnB;AACD,KApCa;AAAA,sGAsCE,UAACG,GAAD,EAAMC,IAAN,EAAe;AAC7B,YAAKH,aAAL,CAAmB,IAAII,oCAAJ,CAAqBF,GAArB,EAA0BC,IAA1B,CAAnB;AACD,KAxCa;AAEZ,UAAKT,MAAL,GAAcH,yBAAyB,CAACc,kBAA1B,EAAd;AACA,UAAKP,cAAL,GAAsBQ,qBAAiBC,aAAvC;AACA,UAAKC,cAAL,GAAsB,MAAKA,cAAL,CAAoBC,IAApB,gDAAtB;AAJY;AAKb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKhB,MAAL,GAAcH,yBAAyB,CAACc,kBAA1B,CAA6CK,CAA7C,CAAd;;AACA,WAAKd,OAAL;AACD;;;SAED,aAAkBC,CAAlB,EAAqB;AACnB,WAAKC,cAAL,GAAsBD,CAAtB;;AACA,WAAKD,OAAL;AACD;;;WAED,8BAAqBH,KAArB,EAA4B;AAC1B,UAAMkB,UAAU,GAAG,CAAC,CAAClB,KAArB;AAEA,WAAKO,aAAL,CAAmB,IAAIY,qCAAJ,CAAsB,KAAKlB,MAA3B,EAAmCiB,UAAnC,CAAnB;AACD;;;WAqBD,qBAAYZ,OAAZ,EAAqB;AACnB,WAAKC,aAAL,CAAmB,IAAIa,oCAAJ,CAAqBd,OAArB,CAAnB;AACD;;;WAED,uBAAcG,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKH,aAAL,CAAmB,IAAIc,oCAAJ,CAAqBZ,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,mBAAU;AACRb,MAAAA,GAAG,CAAC,SAAD,CAAH;;AACA,UAAIyB,OAAO,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACtCC,QAAAA,KAAK,EAAE,KAAKzB,MAD0B;AAEtCa,QAAAA,aAAa,EAAE,KAAKT,cAFkB;AAGtCU,QAAAA,cAAc,EAAE,KAAKA,cAHiB;AAItCY,QAAAA,sBAAsB,EAAE,KAAKA,sBAJS;AAKtCC,QAAAA,YAAY,EAAE;AACZC,UAAAA,GAAG,EAAE,KAAKC,WADE;AAEZ,oBAAQ,KAAKC;AAFD,SALwB;AAStCC,QAAAA,kBAAkB,EAAE;AAClBH,UAAAA,GAAG,EAAE,KAAKI,WAAL,CAAiBjB,IAAjB,CAAsB,IAAtB,CADa;AAElB,oBAAQ,KAAKkB,aAAL,CAAmBlB,IAAnB,CAAwB,IAAxB;AAFU;AATkB,OAA1B,CAAd;;AAcAmB,2BAASC,MAAT,CAAgBd,OAAhB,EAAyB,IAAzB;AACD;;;kDAzEoDe,W;;;iCAAlCvC,yB,wBACS;AAAA,MAAC4B,KAAD,uEAAS,EAAT;AAAA,yCACvBb,qBAAiBa,KADM,GAEvBA,KAFuB;AAAA,C","sourcesContent":["import {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent\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 = {}) => ({\n ...sensibleDefaults.model,\n ...model,\n });\n\n constructor() {\n super();\n this._model = DrawableResponseConfigure.createDefaultModel();\n this._configuration = sensibleDefaults.configuration;\n this.onModelChanged = this.onModelChanged.bind(this);\n }\n\n set model(s) {\n this._model = DrawableResponseConfigure.createDefaultModel(s);\n this._render();\n }\n\n set configuration(c) {\n this._configuration = c;\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 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 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,"sources":["../src/index.js"],"names":["log","DrawableResponseConfigure","c","withRubric","enabled","_model","rubricEnabled","dispatchEvent","ModelUpdatedEvent","m","reset","dispatchModelUpdated","_render","_configuration","verifyRubric","handler","InsertImageEvent","src","done","DeleteImageEvent","createDefaultModel","sensibleDefaults","configuration","onModelChanged","bind","s","resetValue","InsertSoundEvent","DeleteSoundEvent","element","React","createElement","Root","model","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","render","HTMLElement"],"mappings":"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","sourcesContent":["import {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent\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 = {}) => ({\n ...sensibleDefaults.model,\n ...model,\n });\n\n constructor() {\n super();\n this._model = DrawableResponseConfigure.createDefaultModel();\n this._configuration = sensibleDefaults.configuration;\n this.onModelChanged = this.onModelChanged.bind(this);\n }\n\n verifyRubric = async (c) => {\n const { withRubric } = c || {};\n\n if (withRubric.enabled) {\n this._model.rubricEnabled = true;\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n }\n }\n\n set model(s) {\n this._model = DrawableResponseConfigure.createDefaultModel(s);\n this._render();\n }\n\n set configuration(c) {\n this._configuration = c;\n\n this.verifyRubric(this._configuration);\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.verifyRubric(this._configuration);\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 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"}
@@ -100,23 +100,6 @@ var Root = /*#__PURE__*/function (_React$Component) {
100
100
  }
101
101
 
102
102
  (0, _createClass2["default"])(Root, [{
103
- key: "componentDidMount",
104
- value: function componentDidMount() {
105
- var _ref = this.props || {},
106
- model = _ref.model,
107
- onModelChanged = _ref.onModelChanged,
108
- configuration = _ref.configuration;
109
-
110
- var _ref2 = configuration || {},
111
- withRubric = _ref2.withRubric;
112
-
113
- if (withRubric.enabled) {
114
- onModelChanged(_objectSpread(_objectSpread({}, model), {}, {
115
- rubricEnabled: true
116
- }));
117
- }
118
- }
119
- }, {
120
103
  key: "render",
121
104
  value: function render() {
122
105
  var _this$props5 = this.props,
@@ -128,27 +111,26 @@ var Root = /*#__PURE__*/function (_React$Component) {
128
111
  onConfigurationChanged = _this$props5.onConfigurationChanged,
129
112
  onModelChanged = _this$props5.onModelChanged;
130
113
 
131
- var _ref3 = configuration || {},
132
- _ref3$backgroundImage = _ref3.backgroundImage,
133
- backgroundImage = _ref3$backgroundImage === void 0 ? {} : _ref3$backgroundImage,
134
- _ref3$prompt = _ref3.prompt,
135
- prompt = _ref3$prompt === void 0 ? {} : _ref3$prompt,
136
- _ref3$teacherInstruct = _ref3.teacherInstructions,
137
- teacherInstructions = _ref3$teacherInstruct === void 0 ? {} : _ref3$teacherInstruct,
138
- _ref3$spellCheck = _ref3.spellCheck,
139
- spellCheck = _ref3$spellCheck === void 0 ? {} : _ref3$spellCheck,
140
- _ref3$maxImageWidth = _ref3.maxImageWidth,
141
- maxImageWidth = _ref3$maxImageWidth === void 0 ? {} : _ref3$maxImageWidth,
142
- _ref3$maxImageHeight = _ref3.maxImageHeight,
143
- maxImageHeight = _ref3$maxImageHeight === void 0 ? {} : _ref3$maxImageHeight,
144
- withRubric = _ref3.withRubric;
145
-
146
- var _ref4 = model || {},
147
- teacherInstructionsEnabled = _ref4.teacherInstructionsEnabled,
148
- promptEnabled = _ref4.promptEnabled,
149
- spellCheckEnabled = _ref4.spellCheckEnabled,
150
- backgroundImageEnabled = _ref4.backgroundImageEnabled,
151
- rubricEnabled = _ref4.rubricEnabled;
114
+ var _ref = configuration || {},
115
+ _ref$backgroundImage = _ref.backgroundImage,
116
+ backgroundImage = _ref$backgroundImage === void 0 ? {} : _ref$backgroundImage,
117
+ _ref$prompt = _ref.prompt,
118
+ prompt = _ref$prompt === void 0 ? {} : _ref$prompt,
119
+ _ref$teacherInstructi = _ref.teacherInstructions,
120
+ teacherInstructions = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi,
121
+ _ref$spellCheck = _ref.spellCheck,
122
+ spellCheck = _ref$spellCheck === void 0 ? {} : _ref$spellCheck,
123
+ _ref$maxImageWidth = _ref.maxImageWidth,
124
+ maxImageWidth = _ref$maxImageWidth === void 0 ? {} : _ref$maxImageWidth,
125
+ _ref$maxImageHeight = _ref.maxImageHeight,
126
+ maxImageHeight = _ref$maxImageHeight === void 0 ? {} : _ref$maxImageHeight,
127
+ withRubric = _ref.withRubric;
128
+
129
+ var _ref2 = model || {},
130
+ teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled,
131
+ promptEnabled = _ref2.promptEnabled,
132
+ spellCheckEnabled = _ref2.spellCheckEnabled,
133
+ backgroundImageEnabled = _ref2.backgroundImageEnabled;
152
134
 
153
135
  var toolbarOpts = {};
154
136
  var defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/root.jsx"],"names":["Panel","settings","toggle","Root","prompt","props","model","onModelChanged","update","teacherInstructions","dimensions","imageDimensions","imageUrl","configuration","withRubric","enabled","rubricEnabled","classes","imageSupport","uploadSoundSupport","onConfigurationChanged","backgroundImage","spellCheck","maxImageWidth","maxImageHeight","teacherInstructionsEnabled","promptEnabled","spellCheckEnabled","backgroundImageEnabled","toolbarOpts","defaultImageMaxWidth","defaultImageMaxHeight","toolbarEditorPosition","position","base","Settings","label","Properties","regular","onTeacherInstructionsChanged","language","onPromptChanged","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 componentDidMount() {\n const { model, onModelChanged, configuration } = this.props || {};\n const { withRubric } = configuration || {};\n\n if (withRubric.enabled) {\n onModelChanged({\n ...model,\n rubricEnabled: true,\n });\n }\n }\n\n render() {\n const {\n classes,\n configuration,\n model,\n imageSupport,\n uploadSoundSupport,\n onConfigurationChanged,\n onModelChanged,\n } = this.props;\n const {\n backgroundImage = {},\n prompt = {},\n teacherInstructions = {},\n spellCheck = {},\n maxImageWidth = {},\n maxImageHeight = {},\n withRubric,\n } = configuration || {};\n const {\n teacherInstructionsEnabled,\n promptEnabled,\n spellCheckEnabled,\n backgroundImageEnabled,\n rubricEnabled\n } = model || {};\n const toolbarOpts = {};\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\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 backgroundImageEnabled: backgroundImage.settings && toggle(backgroundImage.label),\n promptEnabled: prompt.settings && toggle(prompt.label)\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n spellCheckEnabled:\n spellCheck.settings && toggle(spellCheck.label),\n rubricEnabled: withRubric.settings && toggle(withRubric.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 spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\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 spellCheck={spellCheckEnabled}\n imageSupport={imageSupport}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {backgroundImageEnabled && (\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 imageDimensions={model.imageDimensions}\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 uploadSoundSupport: 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","uploadSoundSupport","onConfigurationChanged","backgroundImage","spellCheck","maxImageWidth","maxImageHeight","withRubric","teacherInstructionsEnabled","promptEnabled","spellCheckEnabled","backgroundImageEnabled","toolbarOpts","defaultImageMaxWidth","defaultImageMaxHeight","toolbarEditorPosition","position","base","Settings","label","Properties","rubricEnabled","regular","onTeacherInstructionsChanged","language","onPromptChanged","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 uploadSoundSupport,\n onConfigurationChanged,\n onModelChanged,\n } = this.props;\n const {\n backgroundImage = {},\n prompt = {},\n teacherInstructions = {},\n spellCheck = {},\n maxImageWidth = {},\n maxImageHeight = {},\n withRubric,\n } = configuration || {};\n const {\n teacherInstructionsEnabled,\n promptEnabled,\n spellCheckEnabled,\n backgroundImageEnabled,\n } = model || {};\n const toolbarOpts = {};\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\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 backgroundImageEnabled: backgroundImage.settings && toggle(backgroundImage.label),\n promptEnabled: prompt.settings && toggle(prompt.label)\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n spellCheckEnabled:\n spellCheck.settings && toggle(spellCheck.label),\n rubricEnabled: withRubric.settings && toggle(withRubric.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 spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\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 spellCheck={spellCheckEnabled}\n imageSupport={imageSupport}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {backgroundImageEnabled && (\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 imageDimensions={model.imageDimensions}\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 uploadSoundSupport: 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"}
@@ -28,6 +28,15 @@ export default class DrawableResponseConfigure extends HTMLElement {
28
28
  this.onModelChanged = this.onModelChanged.bind(this);
29
29
  }
30
30
 
31
+ verifyRubric = async (c) => {
32
+ const { withRubric } = c || {};
33
+
34
+ if (withRubric.enabled) {
35
+ this._model.rubricEnabled = true;
36
+ this.dispatchEvent(new ModelUpdatedEvent(this._model));
37
+ }
38
+ }
39
+
31
40
  set model(s) {
32
41
  this._model = DrawableResponseConfigure.createDefaultModel(s);
33
42
  this._render();
@@ -35,6 +44,9 @@ export default class DrawableResponseConfigure extends HTMLElement {
35
44
 
36
45
  set configuration(c) {
37
46
  this._configuration = c;
47
+
48
+ this.verifyRubric(this._configuration);
49
+
38
50
  this._render();
39
51
  }
40
52
 
@@ -52,6 +64,9 @@ export default class DrawableResponseConfigure extends HTMLElement {
52
64
 
53
65
  onConfigurationChanged = (c) => {
54
66
  this._configuration = c;
67
+
68
+ this.verifyRubric(this._configuration);
69
+
55
70
  this._render();
56
71
  };
57
72
 
@@ -48,18 +48,6 @@ export class Root extends React.Component {
48
48
  });
49
49
  };
50
50
 
51
- componentDidMount() {
52
- const { model, onModelChanged, configuration } = this.props || {};
53
- const { withRubric } = configuration || {};
54
-
55
- if (withRubric.enabled) {
56
- onModelChanged({
57
- ...model,
58
- rubricEnabled: true,
59
- });
60
- }
61
- }
62
-
63
51
  render() {
64
52
  const {
65
53
  classes,
@@ -84,7 +72,6 @@ export class Root extends React.Component {
84
72
  promptEnabled,
85
73
  spellCheckEnabled,
86
74
  backgroundImageEnabled,
87
- rubricEnabled
88
75
  } = model || {};
89
76
  const toolbarOpts = {};
90
77
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-element/drawing-response",
3
- "version": "4.2.1",
3
+ "version": "4.2.2-next.2+f800f9e42",
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": "9a3ab696a0a9ae0b9fa5dfa1d6ea8ed9796be0a8",
27
+ "gitHead": "f800f9e42cf44223e20448ebd50148318a0c68ce",
28
28
  "scripts": {
29
29
  "postpublish": "../../scripts/postpublish"
30
30
  },