@pie-element/drawing-response 3.7.3-next.1239 → 3.7.3-next.1292

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.
@@ -99,6 +99,16 @@ var DrawableResponseConfigure = /*#__PURE__*/function (_HTMLElement) {
99
99
  var resetValue = !!reset;
100
100
  this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model, resetValue));
101
101
  }
102
+ }, {
103
+ key: "insertSound",
104
+ value: function insertSound(handler) {
105
+ this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
106
+ }
107
+ }, {
108
+ key: "onDeleteSound",
109
+ value: function onDeleteSound(src, done) {
110
+ this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
111
+ }
102
112
  }, {
103
113
  key: "_render",
104
114
  value: function _render() {
@@ -112,6 +122,10 @@ var DrawableResponseConfigure = /*#__PURE__*/function (_HTMLElement) {
112
122
  imageSupport: {
113
123
  add: this.insertImage,
114
124
  "delete": this.onDeleteImage
125
+ },
126
+ uploadSoundSupport: {
127
+ add: this.insertSound.bind(this),
128
+ "delete": this.onDeleteSound.bind(this)
115
129
  }
116
130
  });
117
131
 
@@ -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","element","React","createElement","Root","model","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAMA;;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,mBAAU;AACRrB,MAAAA,GAAG,CAAC,SAAD,CAAH;;AACA,UAAIuB,OAAO,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACtCC,QAAAA,KAAK,EAAE,KAAKvB,MAD0B;AAEtCa,QAAAA,aAAa,EAAE,KAAKT,cAFkB;AAGtCU,QAAAA,cAAc,EAAE,KAAKA,cAHiB;AAItCU,QAAAA,sBAAsB,EAAE,KAAKA,sBAJS;AAKtCC,QAAAA,YAAY,EAAE;AACZC,UAAAA,GAAG,EAAE,KAAKC,WADE;AAEZ,oBAAQ,KAAKC;AAFD;AALwB,OAA1B,CAAd;;AAUAC,2BAASC,MAAT,CAAgBX,OAAhB,EAAyB,IAAzB;AACD;;;kDA7DoDY,W;;;iCAAlClC,yB,wBACS;AAAA,MAAC0B,KAAD,uEAAS,EAAT;AAAA,yCACvBX,qBAAiBW,KADM,GAEvBA,KAFuB;AAAA,C","sourcesContent":["import {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\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 _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 });\n ReactDOM.render(element, this);\n }\n}\n"],"file":"index.js"}
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"}
@@ -107,6 +107,7 @@ var Root = /*#__PURE__*/function (_React$Component) {
107
107
  configuration = _this$props5.configuration,
108
108
  model = _this$props5.model,
109
109
  imageSupport = _this$props5.imageSupport,
110
+ uploadSoundSupport = _this$props5.uploadSoundSupport,
110
111
  onConfigurationChanged = _this$props5.onConfigurationChanged,
111
112
  onModelChanged = _this$props5.onModelChanged;
112
113
 
@@ -176,7 +177,8 @@ var Root = /*#__PURE__*/function (_React$Component) {
176
177
  toolbarOpts: toolbarOpts,
177
178
  spellCheck: spellCheckEnabled,
178
179
  maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
179
- maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight
180
+ maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
181
+ uploadSoundSupport: uploadSoundSupport
180
182
  })), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
181
183
  label: "Item Stem",
182
184
  className: classes.prompt
@@ -187,7 +189,8 @@ var Root = /*#__PURE__*/function (_React$Component) {
187
189
  spellCheck: spellCheckEnabled,
188
190
  imageSupport: imageSupport,
189
191
  maxImageWidth: defaultImageMaxWidth,
190
- maxImageHeight: defaultImageMaxHeight
192
+ maxImageHeight: defaultImageMaxHeight,
193
+ uploadSoundSupport: uploadSoundSupport
191
194
  })), backgroundImageEnabled && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
192
195
  className: classes.label,
193
196
  variant: "subheading"
@@ -230,6 +233,10 @@ Root.propTypes = {
230
233
  add: _propTypes["default"].func,
231
234
  "delete": _propTypes["default"].func
232
235
  }),
236
+ uploadSoundSupport: _propTypes["default"].shape({
237
+ add: _propTypes["default"].func,
238
+ "delete": _propTypes["default"].func
239
+ }),
233
240
  onModelChanged: _propTypes["default"].func.isRequired,
234
241
  onConfigurationChanged: _propTypes["default"].func.isRequired
235
242
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/root.jsx"],"names":["Panel","settings","toggle","Root","prompt","props","model","onModelChanged","update","teacherInstructions","dimensions","imageDimensions","imageUrl","classes","configuration","imageSupport","onConfigurationChanged","backgroundImage","spellCheck","maxImageWidth","maxImageHeight","teacherInstructionsEnabled","promptEnabled","spellCheckEnabled","backgroundImageEnabled","toolbarOpts","defaultImageMaxWidth","defaultImageMaxHeight","toolbarEditorPosition","position","base","Settings","label","Properties","regular","onTeacherInstructionsChanged","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 onConfigurationChanged,\n onModelChanged,\n } = this.props;\n const {\n backgroundImage = {},\n prompt = {},\n teacherInstructions = {},\n spellCheck = {},\n maxImageWidth = {},\n maxImageHeight = {}\n } = configuration || {};\n const { teacherInstructionsEnabled, promptEnabled, spellCheckEnabled, 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 },\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 />\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 />\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 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","teacherInstructionsEnabled","promptEnabled","spellCheckEnabled","backgroundImageEnabled","toolbarOpts","defaultImageMaxWidth","defaultImageMaxHeight","toolbarEditorPosition","position","base","Settings","label","Properties","regular","onTeacherInstructionsChanged","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 } = configuration || {};\n const { teacherInstructionsEnabled, promptEnabled, spellCheckEnabled, 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 },\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 />\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 />\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"}
@@ -8,9 +8,9 @@
8
8
  "author": "",
9
9
  "dependencies": {
10
10
  "@material-ui/core": "^3.9.2",
11
- "@pie-framework/pie-configure-events": "^1.2.0",
11
+ "@pie-framework/pie-configure-events": "^1.3.0",
12
12
  "@pie-lib/config-ui": "^11.0.16",
13
- "@pie-lib/editable-html": "^9.1.6",
13
+ "@pie-lib/editable-html": "^9.2.1",
14
14
  "classnames": "^2.2.6",
15
15
  "debug": "^3.1.0",
16
16
  "lodash": "^4.17.15",
@@ -2,6 +2,8 @@ import {
2
2
  ModelUpdatedEvent,
3
3
  DeleteImageEvent,
4
4
  InsertImageEvent,
5
+ InsertSoundEvent,
6
+ DeleteSoundEvent
5
7
  } from '@pie-framework/pie-configure-events';
6
8
 
7
9
  import React from 'react';
@@ -61,6 +63,14 @@ export default class DrawableResponseConfigure extends HTMLElement {
61
63
  this.dispatchEvent(new DeleteImageEvent(src, done));
62
64
  };
63
65
 
66
+ insertSound(handler) {
67
+ this.dispatchEvent(new InsertSoundEvent(handler));
68
+ }
69
+
70
+ onDeleteSound(src, done) {
71
+ this.dispatchEvent(new DeleteSoundEvent(src, done));
72
+ }
73
+
64
74
  _render() {
65
75
  log('_render');
66
76
  let element = React.createElement(Root, {
@@ -71,6 +81,10 @@ export default class DrawableResponseConfigure extends HTMLElement {
71
81
  imageSupport: {
72
82
  add: this.insertImage,
73
83
  delete: this.onDeleteImage
84
+ },
85
+ uploadSoundSupport: {
86
+ add: this.insertSound.bind(this),
87
+ delete: this.onDeleteSound.bind(this)
74
88
  }
75
89
  });
76
90
  ReactDOM.render(element, this);
@@ -54,6 +54,7 @@ export class Root extends React.Component {
54
54
  configuration,
55
55
  model,
56
56
  imageSupport,
57
+ uploadSoundSupport,
57
58
  onConfigurationChanged,
58
59
  onModelChanged,
59
60
  } = this.props;
@@ -121,6 +122,7 @@ export class Root extends React.Component {
121
122
  spellCheck={spellCheckEnabled}
122
123
  maxImageWidth={maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth}
123
124
  maxImageHeight={maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight}
125
+ uploadSoundSupport={uploadSoundSupport}
124
126
  />
125
127
  </InputContainer>
126
128
  )}
@@ -135,6 +137,7 @@ export class Root extends React.Component {
135
137
  imageSupport={imageSupport}
136
138
  maxImageWidth={defaultImageMaxWidth}
137
139
  maxImageHeight={defaultImageMaxHeight}
140
+ uploadSoundSupport={uploadSoundSupport}
138
141
  />
139
142
  </InputContainer>
140
143
  )}
@@ -184,6 +187,10 @@ Root.propTypes = {
184
187
  add: PropTypes.func,
185
188
  delete: PropTypes.func,
186
189
  }),
190
+ uploadSoundSupport: PropTypes.shape({
191
+ add: PropTypes.func,
192
+ delete: PropTypes.func,
193
+ }),
187
194
  onModelChanged: PropTypes.func.isRequired,
188
195
  onConfigurationChanged: PropTypes.func.isRequired,
189
196
  };
@@ -204,4 +204,4 @@
204
204
  }
205
205
  },
206
206
  "$schema": "http://json-schema.org/draft-07/schema#"
207
- }
207
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-element/drawing-response",
3
- "version": "3.7.3-next.1239+bf5bba1e9",
3
+ "version": "3.7.3-next.1292+b5ece25af",
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": "bf5bba1e97593c2c21169dc2a0b436145a00d222",
27
+ "gitHead": "b5ece25af1c7d799bae9eeeca35eb44d367a90a2",
28
28
  "scripts": {
29
29
  "postpublish": "../../scripts/postpublish"
30
30
  },