@pie-element/explicit-constructed-response 3.12.0 → 3.12.1-beta.1443
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 +350 -0
- package/configure/CHANGELOG.md +330 -0
- package/configure/lib/alternateResponses.js +13 -7
- package/configure/lib/alternateResponses.js.map +1 -1
- package/configure/lib/alternateSection.js +39 -17
- package/configure/lib/alternateSection.js.map +1 -1
- package/configure/lib/defaults.js +28 -0
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/ecr-toolbar.js +15 -6
- package/configure/lib/ecr-toolbar.js.map +1 -1
- package/configure/lib/index.js +16 -2
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/main.js +234 -74
- package/configure/lib/main.js.map +1 -1
- package/configure/lib/markupUtils.js +9 -3
- package/configure/lib/markupUtils.js.map +1 -1
- package/configure/lib/utils.js +15 -0
- package/configure/lib/utils.js.map +1 -0
- package/configure/package.json +23 -5
- package/controller/CHANGELOG.md +40 -0
- package/controller/lib/index.js +64 -6
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +2 -2
- package/docs/config-schema.json +121 -0
- package/docs/config-schema.json.md +93 -1
- package/docs/demo/config.js +2 -2
- package/docs/demo/generate.js +4 -3
- package/docs/pie-schema.json +39 -0
- package/docs/pie-schema.json.md +28 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/main.js +6 -3
- package/lib/main.js.map +1 -1
- package/lib/print.js +2 -2
- package/lib/print.js.map +1 -1
- package/package.json +6 -6
- package/module/configure.js +0 -1953
- package/module/controller.js +0 -21340
- package/module/demo.js +0 -45
- package/module/element.js +0 -14384
- package/module/index.html +0 -21
- package/module/manifest.json +0 -18
- package/module/print-demo.js +0 -83
- package/module/print.html +0 -18
- package/module/print.js +0 -14331
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/alternateSection.jsx"],"names":["styles","altChoices","alignItems","flexDirection","display","padding","marginBottom","width","choice","flex","marginRight","deleteBtn","fill","selectContainer","justifyContent","rightContainer","lengthField","Choice","value","props","markup","onChange","e","target","setState","updateText","nextProps","state","classes","onDelete","React","Component","PropTypes","object","string","func","isRequired","AlternateSection","choices","onSelect","selectChoices","find","c","length","label","map","parseInt","filter","id","isNaN","index","choiceChanged","lengthChanged","maxLength","labelLengthsArr","newLength","Math","max","choiceRemoved","event","numberValue","minLength","getChoicesMaxLength","updateChoicesIfNeeded","showMaxLength","design","select","handleSelect","min","changeLength","addButton","onAddChoice","val","onChoiceChanged","onRemoveChoice","array","number","bool","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash/debounce';\nimport isEqual from 'lodash/isEqual';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\nimport Button from '@material-ui/core/Button';\nimport Delete from '@material-ui/icons/Delete';\nimport IconButton from '@material-ui/core/IconButton';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Select from '@material-ui/core/Select';\nimport TextField from '@material-ui/core/TextField';\nimport { withStyles } from '@material-ui/core/styles';\nimport { getAdjustedLength } from './markupUtils';\nimport max from 'lodash/max';\n\nconst styles = () => ({\n altChoices: {\n alignItems: 'flex-start',\n flexDirection: 'column',\n display: 'flex',\n padding: '20px 0 0 0',\n '& > *': {\n marginBottom: '20px',\n width: '100%'\n }\n },\n choice: {\n flex: '1',\n marginRight: '20px'\n },\n deleteBtn: {\n fill: 'gray'\n },\n selectContainer: {\n alignItems: 'flex-end',\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%'\n },\n rightContainer: {\n alignItems: 'center',\n display: 'flex',\n },\n lengthField: {\n width: '230px',\n marginRight: '20px'\n }\n});\n\nexport class Choice extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n markup: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onDelete: PropTypes.func.isRequired,\n value: PropTypes.string\n };\n\n state = {\n value: this.props.markup\n };\n\n updateText = debounce(this.props.onChange, 300);\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.markup) {\n this.setState({ value: nextProps.markup });\n }\n }\n\n onChange = (e) => {\n const { value } = e.target;\n\n this.setState({ value });\n this.updateText(value);\n };\n\n render() {\n const { value } = this.state;\n const { classes, onDelete } = this.props;\n\n return (\n <div\n style={{\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'space-between'\n }}\n >\n <OutlinedInput\n className={classes.choice}\n value={value}\n onChange={this.onChange}\n labelWidth={0}\n disableUnderline\n />\n <IconButton\n aria-label=\"delete\"\n className={classes.deleteBtn}\n onClick={onDelete}\n >\n <Delete />\n </IconButton>\n </div>\n );\n }\n}\n\nexport class AlternateSection extends React.Component {\n static propTypes = {\n choices: PropTypes.array,\n selectChoices: PropTypes.array.isRequired,\n classes: PropTypes.object.isRequired,\n onSelect: PropTypes.func.isRequired,\n choiceChanged: PropTypes.func.isRequired,\n lengthChanged: PropTypes.func,\n choiceRemoved: PropTypes.func.isRequired,\n value: PropTypes.string,\n maxLength: PropTypes.number,\n showMaxLength: PropTypes.bool\n };\n\n state = {};\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.updateChoicesIfNeeded(nextProps);\n }\n\n componentDidMount() {\n this.updateChoicesIfNeeded(this.props);\n }\n\n updateChoicesIfNeeded = props => {\n if (!this.state.choices\n || !isEqual(props.choices, this.state.choices)\n || !isEqual(props.choices, this.props.choices)\n ) {\n this.setState({\n choices: props.choices\n });\n }\n };\n\n handleSelect = e => {\n const { onSelect, selectChoices } = this.props;\n const { value } = e.target;\n\n onSelect(selectChoices.find(c => c.value === value));\n };\n\n onAddChoice = () => {\n const { choices } = this.state;\n\n if (choices.length && choices[choices.length - 1].label !== '') {\n const value = max(choices.map(c => parseInt(c.value)).filter(id => !isNaN(id))) || 0;\n\n this.setState({\n choices: [\n ...choices,\n {\n value: `${value + 1}`,\n label: ''\n }\n ]\n });\n }\n };\n\n onChoiceChanged = (choice, value, index) => {\n const { choiceChanged, lengthChanged, maxLength, choices } = this.props;\n\n const labelLengthsArr = choices.map(choice => (choice.label || '').length);\n labelLengthsArr[index] = value.length;\n\n const newLength = getAdjustedLength(Math.max(...labelLengthsArr));\n\n choiceChanged({\n ...choice,\n label: value\n });\n\n if (newLength > maxLength || newLength + 10 < maxLength) {\n lengthChanged(newLength);\n }\n };\n\n onRemoveChoice = choice => {\n const { choiceRemoved } = this.props;\n\n choiceRemoved(choice.value);\n };\n\n getChoicesMaxLength = () => {\n const { choices } = this.state;\n\n if (!choices) {\n return 1;\n }\n\n const labelLengthsArr = choices.map(choice => (choice.label || '').length);\n\n return getAdjustedLength(Math.max(...labelLengthsArr));\n };\n\n changeLength = event => {\n const { lengthChanged } = this.props;\n const numberValue = parseInt(event.target.value, 10);\n const minLength = this.getChoicesMaxLength();\n\n if (numberValue && numberValue >= minLength && numberValue <= minLength + 10) {\n lengthChanged(numberValue);\n }\n };\n\n render() {\n const {\n classes,\n selectChoices,\n maxLength,\n showMaxLength,\n value\n } = this.props;\n const { choices } = this.state;\n const minLength = this.getChoicesMaxLength();\n\n return (\n <div className={classes.design}>\n <div\n className={classes.selectContainer}\n >\n <Select\n className={classes.select}\n displayEmpty\n onChange={this.handleSelect}\n value={value || ''}\n readOnly={showMaxLength}\n >\n <MenuItem value=\"\">\n <em>\n {value ? 'Remove selection' : 'Select a response'}\n </em>\n </MenuItem>\n {selectChoices.map((c, index) => <MenuItem key={index} value={c.value}>{c.label}</MenuItem>)}\n </Select>\n {\n choices && choices.length > 0 &&\n <div className={classes.rightContainer}>\n {maxLength && showMaxLength && (\n <TextField\n className={classes.lengthField}\n label=\"Maximum length (characters)\"\n type=\"number\"\n inputProps={{\n min: minLength,\n max: minLength + 10\n }}\n value={maxLength}\n onChange={this.changeLength}\n />\n )}\n <Button\n className={classes.addButton}\n variant=\"contained\"\n color=\"primary\"\n onClick={this.onAddChoice}\n >\n Add\n </Button>\n </div>\n }\n </div>\n <div\n className={classes.altChoices}\n >\n {\n choices &&\n choices.map((c, index) => index > 0 && (\n <Choice\n key={index}\n classes={classes}\n markup={c.label}\n onChange={val => this.onChoiceChanged(c, val, index)}\n onDelete={() => this.onRemoveChoice(c)}\n />\n ))\n }\n </div>\n </div>\n );\n }\n}\n\nconst Styled = withStyles(styles)(AlternateSection);\n\nexport default Styled;\n"],"file":"alternateSection.js"}
|
|
1
|
+
{"version":3,"sources":["../src/alternateSection.jsx"],"names":["styles","altChoices","alignItems","flexDirection","display","padding","marginBottom","width","choice","flex","marginRight","deleteBtn","fill","selectContainer","justifyContent","rightContainer","lengthField","errorText","fontSize","color","paddingTop","inputError","border","borderRadius","Choice","value","props","markup","onChange","e","target","setState","updateText","nextProps","state","classes","onDelete","spellCheck","error","React","Component","PropTypes","object","string","func","isRequired","AlternateSection","choices","onSelect","selectChoices","find","c","length","label","map","parseInt","filter","id","isNaN","index","choiceChanged","lengthChanged","maxLength","labelLengthsArr","newLength","Math","max","choiceRemoved","event","numberValue","minLength","getChoicesMaxLength","updateChoicesIfNeeded","showMaxLength","errors","design","select","handleSelect","min","changeLength","addButton","onAddChoice","val","onChoiceChanged","onRemoveChoice","array","number","bool","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash/debounce';\nimport isEqual from 'lodash/isEqual';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\nimport Button from '@material-ui/core/Button';\nimport Delete from '@material-ui/icons/Delete';\nimport IconButton from '@material-ui/core/IconButton';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Select from '@material-ui/core/Select';\nimport TextField from '@material-ui/core/TextField';\nimport { withStyles } from '@material-ui/core/styles';\nimport max from 'lodash/max';\nimport classnames from 'classnames';\n\nimport { getAdjustedLength } from './markupUtils';\n\nconst styles = () => ({\n altChoices: {\n alignItems: 'flex-start',\n flexDirection: 'column',\n display: 'flex',\n padding: '20px 0 0 0',\n '& > *': {\n marginBottom: '20px',\n width: '100%',\n },\n },\n choice: {\n flex: '1',\n marginRight: '20px',\n },\n deleteBtn: {\n fill: 'gray',\n },\n selectContainer: {\n alignItems: 'flex-end',\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n },\n rightContainer: {\n alignItems: 'center',\n display: 'flex',\n },\n lengthField: {\n width: '230px',\n marginRight: '20px',\n },\n errorText: {\n fontSize: '12px',\n color: 'red',\n paddingTop: '5px',\n },\n inputError: {\n border: '2px solid red',\n borderRadius: '6px',\n },\n});\n\nexport class Choice extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n markup: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onDelete: PropTypes.func.isRequired,\n value: PropTypes.string,\n };\n\n state = {\n value: this.props.markup,\n };\n\n updateText = debounce(this.props.onChange, 300);\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.markup) {\n this.setState({ value: nextProps.markup });\n }\n }\n\n onChange = (e) => {\n const { value } = e.target;\n\n this.setState({ value });\n this.updateText(value);\n };\n\n render() {\n const { value } = this.state;\n const { classes, onDelete, spellCheck, error } = this.props;\n\n return (\n <>\n <div\n style={{\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n <OutlinedInput\n className={classnames(classes.choice, error && classes.inputError)}\n value={value}\n onChange={this.onChange}\n labelWidth={0}\n disableUnderline\n spellCheck={spellCheck}\n />\n <IconButton aria-label=\"delete\" className={classes.deleteBtn} onClick={onDelete}>\n <Delete />\n </IconButton>\n </div>\n {error && <div className={classes.errorText}>{error}</div>}\n </>\n );\n }\n}\n\nexport class AlternateSection extends React.Component {\n static propTypes = {\n choices: PropTypes.array,\n selectChoices: PropTypes.array.isRequired,\n classes: PropTypes.object.isRequired,\n onSelect: PropTypes.func.isRequired,\n choiceChanged: PropTypes.func.isRequired,\n lengthChanged: PropTypes.func,\n choiceRemoved: PropTypes.func.isRequired,\n value: PropTypes.string,\n maxLength: PropTypes.number,\n showMaxLength: PropTypes.bool,\n };\n\n state = {};\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.updateChoicesIfNeeded(nextProps);\n }\n\n componentDidMount() {\n this.updateChoicesIfNeeded(this.props);\n }\n\n updateChoicesIfNeeded = (props) => {\n if (\n !this.state.choices ||\n !isEqual(props.choices, this.state.choices) ||\n !isEqual(props.choices, this.props.choices)\n ) {\n this.setState({\n choices: props.choices,\n });\n }\n };\n\n handleSelect = (e) => {\n const { onSelect, selectChoices } = this.props;\n const { value } = e.target;\n\n onSelect(selectChoices.find((c) => c.value === value));\n };\n\n onAddChoice = () => {\n const { choices } = this.state;\n\n if (choices.length && choices[choices.length - 1].label !== '') {\n const value = max(choices.map((c) => parseInt(c.value)).filter((id) => !isNaN(id))) || 0;\n\n this.setState({\n choices: [\n ...choices,\n {\n value: `${value + 1}`,\n label: '',\n },\n ],\n });\n }\n };\n\n onChoiceChanged = (choice, value, index) => {\n const { choiceChanged, lengthChanged, maxLength, choices } = this.props;\n\n const labelLengthsArr = choices.map((choice) => (choice.label || '').length);\n labelLengthsArr[index] = value.length;\n\n const newLength = Math.max(...labelLengthsArr);\n\n choiceChanged({\n ...choice,\n label: value,\n });\n\n if (newLength > maxLength || newLength + 10 <= maxLength) {\n lengthChanged(getAdjustedLength(newLength));\n }\n };\n\n onRemoveChoice = (choice) => {\n const { choiceRemoved } = this.props;\n\n choiceRemoved(choice.value);\n };\n\n getChoicesMaxLength = () => {\n const { choices } = this.state;\n\n if (!choices) {\n return 1;\n }\n\n const labelLengthsArr = choices.map((choice) => (choice.label || '').length);\n\n return Math.max(...labelLengthsArr);\n };\n\n changeLength = (event) => {\n const { lengthChanged } = this.props;\n const numberValue = parseInt(event.target.value, 10);\n const minLength = this.getChoicesMaxLength();\n\n if (numberValue && numberValue >= minLength && numberValue <= minLength + 10) {\n lengthChanged(numberValue);\n }\n };\n\n render() {\n const { classes, selectChoices, maxLength, showMaxLength, value, spellCheck, errors } = this.props;\n const { choices } = this.state;\n const minLength = this.getChoicesMaxLength();\n\n return (\n <div className={classes.design}>\n <div className={classes.selectContainer}>\n <Select\n className={classes.select}\n displayEmpty\n onChange={this.handleSelect}\n value={value || ''}\n readOnly={showMaxLength}\n >\n <MenuItem value=\"\">\n <em>{value ? 'Remove selection' : 'Select a response'}</em>\n </MenuItem>\n {selectChoices.map((c, index) => (\n <MenuItem key={index} value={c.value}>\n {c.label}\n </MenuItem>\n ))}\n </Select>\n {choices && choices.length > 0 && (\n <div className={classes.rightContainer}>\n {maxLength && showMaxLength && (\n <TextField\n className={classes.lengthField}\n label=\"Maximum length (characters)\"\n type=\"number\"\n inputProps={{\n min: minLength,\n max: minLength + 10,\n }}\n value={maxLength}\n onChange={this.changeLength}\n />\n )}\n <Button className={classes.addButton} variant=\"contained\" color=\"primary\" onClick={this.onAddChoice}>\n Add\n </Button>\n </div>\n )}\n </div>\n {errors && errors[0] && <div className={classes.errorText}>{errors[0]}</div>}\n <div className={classes.altChoices}>\n {choices &&\n choices.map(\n (c, index) =>\n index > 0 && (\n <Choice\n key={index}\n classes={classes}\n markup={c.label}\n onChange={(val) => this.onChoiceChanged(c, val, index)}\n onDelete={() => this.onRemoveChoice(c)}\n spellCheck={spellCheck}\n error={errors && errors[index]}\n />\n ),\n )}\n </div>\n </div>\n );\n }\n}\n\nconst Styled = withStyles(styles)(AlternateSection);\n\nexport default Styled;\n"],"file":"alternateSection.js"}
|
|
@@ -13,6 +13,8 @@ var _default = {
|
|
|
13
13
|
markup: '<p>The {{0}} jumped {{1}} the {{2}}</p>',
|
|
14
14
|
toolbarEditorPosition: 'bottom',
|
|
15
15
|
displayType: 'block',
|
|
16
|
+
spellCheckEnabled: true,
|
|
17
|
+
playerSpellCheckEnabled: true,
|
|
16
18
|
choices: {
|
|
17
19
|
0: [{
|
|
18
20
|
label: 'cow',
|
|
@@ -65,6 +67,17 @@ var _default = {
|
|
|
65
67
|
settings: true,
|
|
66
68
|
label: 'Rationale'
|
|
67
69
|
},
|
|
70
|
+
settingsPanelDisabled: false,
|
|
71
|
+
spellCheck: {
|
|
72
|
+
label: 'Spellcheck',
|
|
73
|
+
settings: false,
|
|
74
|
+
enabled: true
|
|
75
|
+
},
|
|
76
|
+
playerSpellCheck: {
|
|
77
|
+
label: 'Student Spellcheck',
|
|
78
|
+
settings: true,
|
|
79
|
+
enabled: true
|
|
80
|
+
},
|
|
68
81
|
teacherInstructions: {
|
|
69
82
|
settings: true,
|
|
70
83
|
label: 'Teacher Instructions'
|
|
@@ -72,6 +85,21 @@ var _default = {
|
|
|
72
85
|
maxLengthPerChoice: {
|
|
73
86
|
settings: true,
|
|
74
87
|
label: 'Maximum Length Per Choice'
|
|
88
|
+
},
|
|
89
|
+
maxResponseAreas: 10,
|
|
90
|
+
maxImageWidth: {
|
|
91
|
+
teacherInstructions: 300,
|
|
92
|
+
prompt: 300,
|
|
93
|
+
rationale: 300
|
|
94
|
+
},
|
|
95
|
+
maxImageHeight: {
|
|
96
|
+
teacherInstructions: 300,
|
|
97
|
+
prompt: 300,
|
|
98
|
+
rationale: 300
|
|
99
|
+
},
|
|
100
|
+
withRubric: {
|
|
101
|
+
settings: false,
|
|
102
|
+
label: 'Add Rubric'
|
|
75
103
|
}
|
|
76
104
|
}
|
|
77
105
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.js"],"names":["model","disabled","mode","prompt","shuffle","markup","toolbarEditorPosition","displayType","choices","label","value","correct","maxLengthPerChoiceEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","configuration","settings","partialScoring","rationale","teacherInstructions","maxLengthPerChoice"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,QAAQ,EAAE,KADL;AAELC,IAAAA,IAAI,EAAE,QAFD;AAGLC,IAAAA,MAAM,EAAE,yCAHH;AAILC,IAAAA,OAAO,EAAE,IAJJ;AAKLC,IAAAA,MAAM,EAAE,yCALH;AAMLC,IAAAA,qBAAqB,EAAE,QANlB;AAOLC,IAAAA,WAAW,EAAE,OAPR;AAQLC,IAAAA,OAAO,EAAE;AACP,SAAG,CACD;AACEC,QAAAA,KAAK,EAAE,KADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OADC,EAKD;AACED,QAAAA,KAAK,EAAE,QADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OALC,EASD;AACED,QAAAA,KAAK,EAAE,MADT;AAEEC,QAAAA,KAAK,EAAE,GAFT;AAGEC,QAAAA,OAAO,EAAE;AAHX,OATC,CADI;AAgBP,SAAG,CACD;AACEF,QAAAA,KAAK,EAAE,MADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OADC,EAKD;AACED,QAAAA,KAAK,EAAE,MADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OALC,EASD;AACED,QAAAA,KAAK,EAAE,QADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OATC,CAhBI;AA8BP,SAAG,CACD;AACED,QAAAA,KAAK,EAAE,MADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OADC,EAKD;AACED,QAAAA,KAAK,EAAE,WADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OALC,EASD;AACED,QAAAA,KAAK,EAAE,QADT;AAEEC,QAAAA,KAAK,EAAE;AAFT,OATC;AA9BI,
|
|
1
|
+
{"version":3,"sources":["../src/defaults.js"],"names":["model","disabled","mode","prompt","shuffle","markup","toolbarEditorPosition","displayType","spellCheckEnabled","playerSpellCheckEnabled","choices","label","value","correct","maxLengthPerChoiceEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","configuration","settings","partialScoring","rationale","settingsPanelDisabled","spellCheck","enabled","playerSpellCheck","teacherInstructions","maxLengthPerChoice","maxResponseAreas","maxImageWidth","maxImageHeight","withRubric"],"mappings":"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","sourcesContent":["export default {\n model: {\n disabled: false,\n mode: 'gather',\n prompt: 'Use the inputs to complete the sentence',\n shuffle: true,\n markup: '<p>The {{0}} jumped {{1}} the {{2}}</p>',\n toolbarEditorPosition: 'bottom',\n displayType: 'block',\n spellCheckEnabled: true,\n playerSpellCheckEnabled: true,\n choices: {\n 0: [\n {\n label: 'cow',\n value: '0',\n },\n {\n label: 'cattle',\n value: '1',\n },\n {\n label: 'calf',\n value: '2',\n correct: false,\n },\n ],\n 1: [\n {\n label: 'over',\n value: '0',\n },\n {\n label: 'past',\n value: '1',\n },\n {\n label: 'beyond',\n value: '2',\n },\n ],\n 2: [\n {\n label: 'moon',\n value: '0',\n },\n {\n label: 'satellite',\n value: '2',\n },\n {\n label: 'house ',\n value: '3',\n },\n ],\n },\n maxLengthPerChoiceEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n },\n configuration: {\n prompt: {\n settings: true,\n label: 'Prompt',\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring',\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n },\n settingsPanelDisabled: false,\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n playerSpellCheck: {\n label: 'Student Spellcheck',\n settings: true,\n enabled: true,\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n },\n maxLengthPerChoice: {\n settings: true,\n label: 'Maximum Length Per Choice',\n },\n maxResponseAreas: 10,\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n },\n};\n"],"file":"defaults.js"}
|
|
@@ -29,9 +29,11 @@ var _styles = require("@material-ui/core/styles");
|
|
|
29
29
|
|
|
30
30
|
var _OutlinedInput = _interopRequireDefault(require("@material-ui/core/OutlinedInput"));
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
33
33
|
|
|
34
|
-
function
|
|
34
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
35
|
+
|
|
36
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
35
37
|
|
|
36
38
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
37
39
|
|
|
@@ -56,7 +58,9 @@ var ECRToolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
56
58
|
}
|
|
57
59
|
|
|
58
60
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
59
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
|
|
61
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
|
|
62
|
+
markup: ''
|
|
63
|
+
});
|
|
60
64
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDone", function () {
|
|
61
65
|
var newValue = _this.state.markup;
|
|
62
66
|
var _this$props = _this.props,
|
|
@@ -74,7 +78,7 @@ var ECRToolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
74
78
|
});
|
|
75
79
|
var nextText = value.document.getNextText(node.key);
|
|
76
80
|
change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);
|
|
77
|
-
onToolbarDone(change,
|
|
81
|
+
onToolbarDone(change, true);
|
|
78
82
|
onChangeResponse(newValue);
|
|
79
83
|
});
|
|
80
84
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (e) {
|
|
@@ -115,7 +119,9 @@ var ECRToolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
115
119
|
}, {
|
|
116
120
|
key: "render",
|
|
117
121
|
value: function render() {
|
|
118
|
-
var
|
|
122
|
+
var _this$props3 = this.props,
|
|
123
|
+
classes = _this$props3.classes,
|
|
124
|
+
error = _this$props3.error;
|
|
119
125
|
var _this$state = this.state,
|
|
120
126
|
markup = _this$state.markup,
|
|
121
127
|
toolbarStyle = _this$state.toolbarStyle;
|
|
@@ -134,7 +140,7 @@ var ECRToolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
134
140
|
},
|
|
135
141
|
onChange: this.onChange,
|
|
136
142
|
onBlur: this.onDone,
|
|
137
|
-
value: markup
|
|
143
|
+
value: markup || ''
|
|
138
144
|
}));
|
|
139
145
|
}
|
|
140
146
|
}]);
|
|
@@ -163,6 +169,9 @@ var StyledECRToolbar = (0, _styles.withStyles)({
|
|
|
163
169
|
input: {
|
|
164
170
|
backgroundColor: '#fff',
|
|
165
171
|
padding: '10px 20px 10px 10px'
|
|
172
|
+
},
|
|
173
|
+
errorInput: {
|
|
174
|
+
border: '2px solid red'
|
|
166
175
|
}
|
|
167
176
|
})(ECRToolbar);
|
|
168
177
|
var _default = StyledECRToolbar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ecr-toolbar.jsx"],"names":["findSlateNode","key","window","document","querySelector","ECRToolbar","
|
|
1
|
+
{"version":3,"sources":["../src/ecr-toolbar.jsx"],"names":["findSlateNode","key","window","document","querySelector","ECRToolbar","markup","newValue","state","props","node","value","onToolbarDone","onChangeResponse","update","data","toJSON","change","setNodeByKey","nextText","getNextText","moveFocusTo","moveAnchorTo","e","setState","target","correctChoice","choice","domNode","domNodeRect","getBoundingClientRect","editor","closest","editorRect","top","left","label","toolbarStyle","position","height","width","classes","error","backgroundColor","input","onChange","onDone","React","Component","PropTypes","object","func","isRequired","shape","StyledECRToolbar","respArea","padding","errorInput","border"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAACC,GAAD,EAAS;AAC7B,SAAOC,MAAM,CAACC,QAAP,CAAgBC,aAAhB,CAA8B,gBAAgBH,GAAhB,GAAsB,IAApD,CAAP;AACD,CAFD;;IAIaI,U;;;;;;;;;;;;;;;8FAgBH;AACNC,MAAAA,MAAM,EAAE;AADF,K;+FA8BC,YAAM;AACb,UAAgBC,QAAhB,GAA6B,MAAKC,KAAlC,CAAQF,MAAR;AACA,wBAAyD,MAAKG,KAA9D;AAAA,UAAQC,IAAR,eAAQA,IAAR;AAAA,UAAcC,KAAd,eAAcA,KAAd;AAAA,UAAqBC,aAArB,eAAqBA,aAArB;AAAA,UAAoCC,gBAApC,eAAoCA,gBAApC;;AACA,UAAMC,MAAM,mCAAQJ,IAAI,CAACK,IAAL,CAAUC,MAAV,EAAR;AAA4BL,QAAAA,KAAK,EAAEJ;AAAnC,QAAZ;;AACA,UAAMU,MAAM,GAAGN,KAAK,CAACM,MAAN,GAAeC,YAAf,CAA4BR,IAAI,CAACT,GAAjC,EAAsC;AAAEc,QAAAA,IAAI,EAAED;AAAR,OAAtC,CAAf;AAEA,UAAMK,QAAQ,GAAGR,KAAK,CAACR,QAAN,CAAeiB,WAAf,CAA2BV,IAAI,CAACT,GAAhC,CAAjB;AAEAgB,MAAAA,MAAM,CAACI,WAAP,CAAmBF,QAAQ,CAAClB,GAA5B,EAAiC,CAAjC,EAAoCqB,YAApC,CAAiDH,QAAQ,CAAClB,GAA1D,EAA+D,CAA/D;AAEAW,MAAAA,aAAa,CAACK,MAAD,EAAS,IAAT,CAAb;AACAJ,MAAAA,gBAAgB,CAACN,QAAD,CAAhB;AACD,K;iGAEU,UAACgB,CAAD;AAAA,aAAO,MAAKC,QAAL,CAAc;AAAElB,QAAAA,MAAM,EAAEiB,CAAC,CAACE,MAAF,CAASd;AAAnB,OAAd,CAAP;AAAA,K;;;;;;WAxCX,6BAAoB;AAClB,yBAAgC,KAAKF,KAArC;AAAA,UAAQiB,aAAR,gBAAQA,aAAR;AAAA,UAAuBhB,IAAvB,gBAAuBA,IAAvB;AACA,UAAMiB,MAAM,GAAGD,aAAa,IAAI,EAAhC;AAEA,UAAME,OAAO,GAAG5B,aAAa,CAACU,IAAI,CAACT,GAAN,CAA7B;;AAEA,UAAI2B,OAAJ,EAAa;AACX;AACA,YAAMC,WAAW,GAAGD,OAAO,CAACE,qBAAR,EAApB;AACA,YAAMC,MAAM,GAAGH,OAAO,CAACI,OAAR,CAAgB,qBAAhB,CAAf;AACA,YAAMC,UAAU,GAAGF,MAAM,CAACD,qBAAP,EAAnB;AACA,YAAMI,GAAG,GAAGL,WAAW,CAACK,GAAZ,GAAkBD,UAAU,CAACC,GAAzC;AACA,YAAMC,IAAI,GAAGN,WAAW,CAACM,IAAZ,GAAmBF,UAAU,CAACE,IAA3C;AAEA,aAAKX,QAAL,CAAc;AACZlB,UAAAA,MAAM,EAAEqB,MAAM,CAACS,KADH;AAEZC,UAAAA,YAAY,EAAE;AACZC,YAAAA,QAAQ,EAAE,UADE;AAEZJ,YAAAA,GAAG,YAAKA,GAAG,GAAGL,WAAW,CAACU,MAAlB,GAA2B,EAAhC,OAFS;AAGZJ,YAAAA,IAAI,YAAKA,IAAI,GAAG,EAAZ,OAHQ;AAIZK,YAAAA,KAAK,EAAEX,WAAW,CAACW;AAJP;AAFF,SAAd;AASD;AACF;;;WAkBD,kBAAS;AACP,yBAA2B,KAAK/B,KAAhC;AAAA,UAAQgC,OAAR,gBAAQA,OAAR;AAAA,UAAiBC,KAAjB,gBAAiBA,KAAjB;AACA,wBAAiC,KAAKlC,KAAtC;AAAA,UAAQF,MAAR,eAAQA,MAAR;AAAA,UAAgB+B,YAAhB,eAAgBA,YAAhB;AAEA,0BACE;AACE,QAAA,KAAK,kCACAA,YADA;AAEHM,UAAAA,eAAe,EAAE;AAFd;AADP,sBAME,gCAAC,yBAAD;AACE,QAAA,KAAK,EAAE;AAAEH,UAAAA,KAAK,EAAE;AAAT,SADT;AAEE,QAAA,SAAS,MAFX;AAGE,QAAA,UAAU,EAAE,CAHd;AAIE,QAAA,OAAO,EAAE;AACPI,UAAAA,KAAK,EAAEH,OAAO,CAACG;AADR,SAJX;AAOE,QAAA,QAAQ,EAAE,KAAKC,QAPjB;AAQE,QAAA,MAAM,EAAE,KAAKC,MARf;AASE,QAAA,KAAK,EAAExC,MAAM,IAAI;AATnB,QANF,CADF;AAoBD;;;EAtF6ByC,kBAAMC,S;;;iCAAzB3C,U,eACQ;AACjBqB,EAAAA,aAAa,EAAEuB,sBAAUC,MADR;AAEjBT,EAAAA,OAAO,EAAEQ,sBAAUC,MAFF;AAGjBxC,EAAAA,IAAI,EAAEuC,sBAAUC,MAHC;AAIjBJ,EAAAA,MAAM,EAAEG,sBAAUE,IAJD;AAKjBtC,EAAAA,gBAAgB,EAAEoC,sBAAUE,IAAV,CAAeC,UALhB;AAMjBxC,EAAAA,aAAa,EAAEqC,sBAAUE,IAAV,CAAeC,UANb;AAOjBzC,EAAAA,KAAK,EAAEsC,sBAAUI,KAAV,CAAgB;AACrBpC,IAAAA,MAAM,EAAEgC,sBAAUE,IAAV,CAAeC,UADF;AAErBjD,IAAAA,QAAQ,EAAE8C,sBAAUI,KAAV,CAAgB;AACxBjC,MAAAA,WAAW,EAAE6B,sBAAUE,IAAV,CAAeC;AADJ,KAAhB;AAFW,GAAhB;AAPU,C;AAwFrB,IAAME,gBAAgB,GAAG,wBAAW;AAClCC,EAAAA,QAAQ,EAAE;AACRZ,IAAAA,eAAe,EAAE;AADT,GADwB;AAIlCC,EAAAA,KAAK,EAAE;AACLD,IAAAA,eAAe,EAAE,MADZ;AAELa,IAAAA,OAAO,EAAE;AAFJ,GAJ2B;AAQlCC,EAAAA,UAAU,EAAE;AACVC,IAAAA,MAAM,EAAE;AADE;AARsB,CAAX,EAWtBrD,UAXsB,CAAzB;eAaeiD,gB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\nimport classNames from 'classnames';\n\nconst findSlateNode = (key) => {\n return window.document.querySelector('[data-key=\"' + key + '\"]');\n};\n\nexport class ECRToolbar extends React.Component {\n static propTypes = {\n correctChoice: PropTypes.object,\n classes: PropTypes.object,\n node: PropTypes.object,\n onDone: PropTypes.func,\n onChangeResponse: PropTypes.func.isRequired,\n onToolbarDone: PropTypes.func.isRequired,\n value: PropTypes.shape({\n change: PropTypes.func.isRequired,\n document: PropTypes.shape({\n getNextText: PropTypes.func.isRequired,\n }),\n }),\n };\n\n state = {\n markup: '',\n };\n\n componentDidMount() {\n const { correctChoice, node } = this.props;\n const choice = correctChoice || {};\n\n const domNode = findSlateNode(node.key);\n\n if (domNode) {\n //eslint-disable-next-line\n const domNodeRect = domNode.getBoundingClientRect();\n const editor = domNode.closest('[data-slate-editor]');\n const editorRect = editor.getBoundingClientRect();\n const top = domNodeRect.top - editorRect.top;\n const left = domNodeRect.left - editorRect.left;\n\n this.setState({\n markup: choice.label,\n toolbarStyle: {\n position: 'absolute',\n top: `${top + domNodeRect.height + 20}px`,\n left: `${left + 20}px`,\n width: domNodeRect.width,\n },\n });\n }\n }\n\n onDone = () => {\n const { markup: newValue } = this.state;\n const { node, value, onToolbarDone, onChangeResponse } = this.props;\n const update = { ...node.data.toJSON(), value: newValue };\n const change = value.change().setNodeByKey(node.key, { data: update });\n\n const nextText = value.document.getNextText(node.key);\n\n change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);\n\n onToolbarDone(change, true);\n onChangeResponse(newValue);\n };\n\n onChange = (e) => this.setState({ markup: e.target.value });\n\n render() {\n const { classes, error } = this.props;\n const { markup, toolbarStyle } = this.state;\n\n return (\n <div\n style={{\n ...toolbarStyle,\n backgroundColor: '#E0E1E6',\n }}\n >\n <OutlinedInput\n style={{ width: '100%' }}\n autoFocus\n labelWidth={0}\n classes={{\n input: classes.input,\n }}\n onChange={this.onChange}\n onBlur={this.onDone}\n value={markup || ''}\n />\n </div>\n );\n }\n}\n\nconst StyledECRToolbar = withStyles({\n respArea: {\n backgroundColor: '#fff',\n },\n input: {\n backgroundColor: '#fff',\n padding: '10px 20px 10px 10px',\n },\n errorInput: {\n border: '2px solid red',\n },\n})(ECRToolbar);\n\nexport default StyledECRToolbar;\n"],"file":"ecr-toolbar.js"}
|
package/configure/lib/index.js
CHANGED
|
@@ -41,9 +41,9 @@ var _defaults2 = _interopRequireDefault(require("./defaults"));
|
|
|
41
41
|
|
|
42
42
|
var _markupUtils = require("./markupUtils");
|
|
43
43
|
|
|
44
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
44
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
45
45
|
|
|
46
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
46
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
47
47
|
|
|
48
48
|
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); }; }
|
|
49
49
|
|
|
@@ -123,6 +123,16 @@ var ExplicitConstructedResponse = /*#__PURE__*/function (_HTMLElement) {
|
|
|
123
123
|
value: function onDeleteImage(src, done) {
|
|
124
124
|
this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
|
|
125
125
|
}
|
|
126
|
+
}, {
|
|
127
|
+
key: "insertSound",
|
|
128
|
+
value: function insertSound(handler) {
|
|
129
|
+
this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
|
|
130
|
+
}
|
|
131
|
+
}, {
|
|
132
|
+
key: "onDeleteSound",
|
|
133
|
+
value: function onDeleteSound(src, done) {
|
|
134
|
+
this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
|
|
135
|
+
}
|
|
126
136
|
}, {
|
|
127
137
|
key: "_render",
|
|
128
138
|
value: function _render() {
|
|
@@ -137,6 +147,10 @@ var ExplicitConstructedResponse = /*#__PURE__*/function (_HTMLElement) {
|
|
|
137
147
|
imageSupport: {
|
|
138
148
|
add: this.insertImage.bind(this),
|
|
139
149
|
"delete": this.onDeleteImage.bind(this)
|
|
150
|
+
},
|
|
151
|
+
uploadSoundSupport: {
|
|
152
|
+
add: this.insertSound.bind(this),
|
|
153
|
+
"delete": this.onDeleteSound.bind(this)
|
|
140
154
|
}
|
|
141
155
|
});
|
|
142
156
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["log","ExplicitConstructedResponse","_model","prepareModel","_configuration","sensibleDefaults","configuration","onModelChanged","bind","onConfigurationChanged","s","_render","c","_disableSidePanel","reset","resetValue","dispatchEvent","ModelUpdatedEvent","m","dispatchModelUpdated","handler","InsertImageEvent","src","done","DeleteImageEvent","element","React","createElement","Main","model","disableSidePanel","imageSupport","add","insertImage","onDeleteImage","ReactDOM","render","HTMLElement","joinedObj","slateMarkup","markup","choices","processedMarkup","Object","keys","forEach","key","map","item","index","value"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["log","ExplicitConstructedResponse","_model","prepareModel","_configuration","sensibleDefaults","configuration","onModelChanged","bind","onConfigurationChanged","s","_render","c","_disableSidePanel","reset","resetValue","dispatchEvent","ModelUpdatedEvent","m","dispatchModelUpdated","handler","InsertImageEvent","src","done","DeleteImageEvent","InsertSoundEvent","DeleteSoundEvent","element","React","createElement","Main","model","disableSidePanel","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","render","HTMLElement","joinedObj","slateMarkup","markup","choices","processedMarkup","Object","keys","forEach","key","map","item","index","value"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\nimport defaults from 'lodash/defaults';\nimport isArray from 'lodash/isArray';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\n\nimport Main from './main';\n\nimport sensibleDefaults from './defaults';\nimport { processMarkup, createSlateMarkup } from './markupUtils';\n\nconst log = debug('explicit-constructed-response:configure');\n\nexport default class ExplicitConstructedResponse extends HTMLElement {\n static prepareModel = (model = {}) => {\n const joinedObj = {\n ...sensibleDefaults.model,\n ...model,\n };\n const slateMarkup = joinedObj.slateMarkup || createSlateMarkup(joinedObj.markup, joinedObj.choices);\n const processedMarkup = processMarkup(slateMarkup);\n\n // this was added to treat an exception, when the model has choices without the \"value\" property\n // like: { label: 'test' }\n if (joinedObj.choices) {\n Object.keys(joinedObj.choices).forEach((key) => {\n if (isArray(joinedObj.choices[key])) {\n joinedObj.choices[key] = (joinedObj.choices[key] || []).map((item, index) => {\n if (!item.value) {\n log('Choice does not contain \"value\" property, which is required.', item);\n return { value: `${index}`, ...item };\n }\n\n return item;\n });\n }\n });\n }\n\n return {\n ...joinedObj,\n slateMarkup,\n markup: processedMarkup,\n };\n };\n\n constructor() {\n super();\n this._model = ExplicitConstructedResponse.prepareModel();\n this._configuration = sensibleDefaults.configuration;\n this.onModelChanged = this.onModelChanged.bind(this);\n this.onConfigurationChanged = this.onConfigurationChanged.bind(this);\n }\n\n set model(s) {\n this._model = ExplicitConstructedResponse.prepareModel(s);\n this._render();\n }\n\n set configuration(c) {\n this._configuration = defaults(c, sensibleDefaults.configuration);\n this._render();\n }\n\n set disableSidePanel(s) {\n this._disableSidePanel = s;\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 = ExplicitConstructedResponse.prepareModel(m);\n this._render();\n this.dispatchModelUpdated(reset);\n }\n\n onConfigurationChanged(c) {\n this._configuration = c;\n this._render();\n }\n\n /** @param {done, progress, file} handler */\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(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n disableSidePanel: this._disableSidePanel,\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n ReactDOM.render(element, this);\n }\n}\n"],"file":"index.js"}
|