@pie-element/match 6.1.2-next.27 → 6.1.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.
- package/configure/lib/answer-config-block.js +2 -2
- package/configure/lib/answer-config-block.js.map +1 -1
- package/configure/lib/configure.js +4 -4
- package/configure/lib/configure.js.map +1 -1
- package/configure/lib/row.js +8 -2
- package/configure/lib/row.js.map +1 -1
- package/configure/package.json +1 -1
- package/controller/package.json +1 -1
- package/lib/main.js +2 -2
- package/lib/main.js.map +1 -1
- package/package.json +3 -3
|
@@ -43,7 +43,7 @@ var _debug = _interopRequireDefault(require("debug"));
|
|
|
43
43
|
|
|
44
44
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
45
45
|
|
|
46
|
-
var _editableHtml = require("@pie-lib/pie-toolbox/editable-html");
|
|
46
|
+
var _editableHtml = _interopRequireWildcard(require("@pie-lib/pie-toolbox/editable-html"));
|
|
47
47
|
|
|
48
48
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
49
49
|
|
|
@@ -283,7 +283,7 @@ var AnswerConfigBlock = /*#__PURE__*/function (_React$Component) {
|
|
|
283
283
|
return /*#__PURE__*/React.createElement("div", {
|
|
284
284
|
key: idx,
|
|
285
285
|
className: (0, _classnames["default"])(classes.rowItem, (0, _defineProperty2["default"])({}, classes.questionText, idx === 0))
|
|
286
|
-
}, /*#__PURE__*/React.createElement(_editableHtml
|
|
286
|
+
}, /*#__PURE__*/React.createElement(_editableHtml["default"], {
|
|
287
287
|
onChange: _this2.onHeaderChange(idx),
|
|
288
288
|
markup: header,
|
|
289
289
|
className: columnsErrors && !columnsErrors[idx] ? classes.marginBottom : classes.headerInput,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/answer-config-block.jsx"],"names":["log","styles","theme","container","marginBottom","spacing","unit","display","flexDirection","rowContainer","alignItems","flex","width","borderBottom","palette","grey","paddingBottom","marginTop","rowItem","justifyContent","padding","textAlign","deleteIcon","minWidth","questionText","marginRight","maxWidth","rowTable","headerInput","fontWeight","typography","fontSize","errorText","color","error","main","paddingTop","AnswerConfigBlock","from","to","props","model","onChange","newModel","rows","reduce","acc","item","index","movedRow","remainingRows","push","update","slice","name","isBoolean","target","value","checked","lodash","set","headerIndex","headers","classes","onAddRow","imageSupport","configuration","toolbarOpts","spellCheck","uploadSoundSupport","maxImageWidth","maxImageHeight","mathMlOptions","minQuestions","errors","correctResponseError","rowsErrors","columnsErrors","noOfRowsError","columnsLengthError","filteredDefaultPlugins","DEFAULT_PLUGINS","filter","p","labelPlugins","audio","disabled","video","defaultImageMaxWidth","prompt","defaultImageMaxHeight","overflow","settings","map","header","idx","onHeaderChange","language","row","onDeleteRow","moveRow","enableImages","id","rowTitles","React","Component","PropTypes","object","isRequired","func","shape","add","bool"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport { withStyles } from '@material-ui/core/styles';\nimport AddRow from './add-row';\nimport Row from './row';\nimport debug from 'debug';\nimport lodash from 'lodash';\nimport { EditableHtml, DEFAULT_PLUGINS } from '@pie-lib/pie-toolbox/editable-html';\n\nconst log = debug('pie-elements:match:configure');\n\nconst styles = (theme) => ({\n container: {\n marginBottom: theme.spacing.unit * 2.5,\n display: 'flex',\n flexDirection: 'column',\n },\n rowContainer: {\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n width: '100%',\n borderBottom: `2px solid ${theme.palette.grey['A100']}`,\n paddingBottom: theme.spacing.unit * 2,\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit,\n },\n rowItem: {\n flex: 1,\n display: 'flex',\n justifyContent: 'center',\n flexDirection: 'column',\n '&> div': {\n width: '150px',\n padding: `0 ${theme.spacing.unit}px`,\n textAlign: 'center',\n },\n },\n deleteIcon: {\n flex: 0.5,\n minWidth: '48px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n questionText: {\n flex: 2,\n display: 'flex',\n justifyContent: 'flex-start',\n marginRight: theme.spacing.unit,\n '&> div': {\n width: '100%',\n padding: 0,\n maxWidth: 'unset',\n textAlign: 'left',\n minWidth: '350px',\n },\n },\n rowTable: {\n display: 'flex',\n flexDirection: 'column',\n },\n headerInput: {\n '&> div': {\n fontWeight: 'bold',\n },\n },\n marginBottom: {\n marginBottom: theme.typography.fontSize - 2 + theme.spacing.unit,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: `${theme.spacing.unit}px !important`,\n width: 'fit-content !important',\n },\n});\n\nclass AnswerConfigBlock extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n onDeleteRow: PropTypes.func.isRequired,\n onAddRow: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n toolbarOpts: PropTypes.object,\n spellCheck: PropTypes.bool,\n };\n\n moveRow = (from, to) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n const rows = newModel.rows || [];\n\n log('[moveRow]: ', from, to);\n\n const { movedRow, remainingRows } = rows.reduce(\n (acc, item, index) => {\n if (index === from) {\n acc.movedRow = item;\n } else {\n acc.remainingRows.push(item);\n }\n\n return acc;\n },\n { movedRow: null, remainingRows: [] },\n );\n\n const update = [...remainingRows.slice(0, to), movedRow, ...remainingRows.slice(to)];\n\n log('update: ', update);\n\n newModel.rows = update;\n\n onChange(newModel);\n };\n\n onChange =\n (name, isBoolean) =>\n ({ target }) => {\n const { model, onChange } = this.props;\n let value;\n\n if (isBoolean) {\n value = target.checked;\n } else {\n value = target.value;\n }\n\n lodash.set(model, name, value);\n onChange(model, name);\n };\n\n onHeaderChange = (headerIndex) => (value) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n if (headerIndex === 0) {\n newModel.headers[headerIndex] = value;\n onChange(newModel);\n\n return;\n }\n\n newModel.headers[headerIndex] = value;\n onChange(newModel);\n };\n\n render() {\n const { classes, model, onAddRow, imageSupport, configuration, toolbarOpts, spellCheck, uploadSoundSupport } =\n this.props;\n const { headers = {}, maxImageWidth = {}, maxImageHeight = {}, mathMlOptions = {}, minQuestions } = configuration || {};\n const { errors } = model || {};\n const { correctResponseError, rowsErrors, columnsErrors, noOfRowsError, columnsLengthError } = errors || {};\n\n const filteredDefaultPlugins = (DEFAULT_PLUGINS || []).filter(\n (p) => p !== 'table' && p !== 'bulleted-list' && p !== 'numbered-list',\n );\n const labelPlugins = {\n audio: { disabled: true },\n video: { disabled: true },\n };\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n return (\n <div className={classes.container}>\n <Typography type=\"body1\" component=\"div\">\n Click on the labels to edit or remove. Set the correct answers by clicking each correct answer per row.\n </Typography>\n {correctResponseError && <div className={classes.errorText}>{correctResponseError}</div>}\n {noOfRowsError && <div className={classes.errorText}>{noOfRowsError}</div>}\n {columnsLengthError && <div className={classes.errorText}>{columnsLengthError}</div>}\n\n <div\n className={classes.rowTable}\n style={configuration.width ? { width: configuration.width, overflow: 'scroll' } : {}}\n >\n <div className={classes.rowContainer}>\n {headers.settings &&\n (model.headers || []).map((header, idx) => (\n <div\n key={idx}\n className={cx(classes.rowItem, {\n [classes.questionText]: idx === 0,\n })}\n >\n <EditableHtml\n onChange={this.onHeaderChange(idx)}\n markup={header}\n className={columnsErrors && !columnsErrors[idx] ? classes.marginBottom : classes.headerInput}\n label={'column label'}\n activePlugins={filteredDefaultPlugins}\n pluginProps={labelPlugins}\n autoWidthToolbar\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n error={columnsErrors && columnsErrors[idx]}\n />\n {columnsErrors && columnsErrors[idx] && <div className={classes.errorText}>{columnsErrors[idx]}</div>}\n </div>\n ))}\n <div className={classes.deleteIcon} />\n </div>\n\n {model.rows.map((row, idx) => (\n <Row\n key={idx}\n model={model}\n row={row}\n idx={idx}\n onDeleteRow={this.props.onDeleteRow}\n onChange={this.props.onChange}\n onMoveRow={this.moveRow}\n imageSupport={imageSupport}\n enableImages={model.enableImages}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheck}\n error={rowsErrors?.[row.id]}\n maxImageWidth={(maxImageWidth && maxImageWidth.rowTitles) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rowTitles) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n minQuestions={minQuestions}\n />\n ))}\n\n <AddRow onAddClick={onAddRow} />\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(AnswerConfigBlock);\n"],"file":"answer-config-block.js"}
|
|
1
|
+
{"version":3,"sources":["../src/answer-config-block.jsx"],"names":["log","styles","theme","container","marginBottom","spacing","unit","display","flexDirection","rowContainer","alignItems","flex","width","borderBottom","palette","grey","paddingBottom","marginTop","rowItem","justifyContent","padding","textAlign","deleteIcon","minWidth","questionText","marginRight","maxWidth","rowTable","headerInput","fontWeight","typography","fontSize","errorText","color","error","main","paddingTop","AnswerConfigBlock","from","to","props","model","onChange","newModel","rows","reduce","acc","item","index","movedRow","remainingRows","push","update","slice","name","isBoolean","target","value","checked","lodash","set","headerIndex","headers","classes","onAddRow","imageSupport","configuration","toolbarOpts","spellCheck","uploadSoundSupport","maxImageWidth","maxImageHeight","mathMlOptions","minQuestions","errors","correctResponseError","rowsErrors","columnsErrors","noOfRowsError","columnsLengthError","filteredDefaultPlugins","DEFAULT_PLUGINS","filter","p","labelPlugins","audio","disabled","video","defaultImageMaxWidth","prompt","defaultImageMaxHeight","overflow","settings","map","header","idx","onHeaderChange","language","row","onDeleteRow","moveRow","enableImages","id","rowTitles","React","Component","PropTypes","object","isRequired","func","shape","add","bool"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport { withStyles } from '@material-ui/core/styles';\nimport AddRow from './add-row';\nimport Row from './row';\nimport debug from 'debug';\nimport lodash from 'lodash';\nimport EditableHTML, { DEFAULT_PLUGINS } from '@pie-lib/pie-toolbox/editable-html';\n\nconst log = debug('pie-elements:match:configure');\n\nconst styles = (theme) => ({\n container: {\n marginBottom: theme.spacing.unit * 2.5,\n display: 'flex',\n flexDirection: 'column',\n },\n rowContainer: {\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n width: '100%',\n borderBottom: `2px solid ${theme.palette.grey['A100']}`,\n paddingBottom: theme.spacing.unit * 2,\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit,\n },\n rowItem: {\n flex: 1,\n display: 'flex',\n justifyContent: 'center',\n flexDirection: 'column',\n '&> div': {\n width: '150px',\n padding: `0 ${theme.spacing.unit}px`,\n textAlign: 'center',\n },\n },\n deleteIcon: {\n flex: 0.5,\n minWidth: '48px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n questionText: {\n flex: 2,\n display: 'flex',\n justifyContent: 'flex-start',\n marginRight: theme.spacing.unit,\n '&> div': {\n width: '100%',\n padding: 0,\n maxWidth: 'unset',\n textAlign: 'left',\n minWidth: '350px',\n },\n },\n rowTable: {\n display: 'flex',\n flexDirection: 'column',\n },\n headerInput: {\n '&> div': {\n fontWeight: 'bold',\n },\n },\n marginBottom: {\n marginBottom: theme.typography.fontSize - 2 + theme.spacing.unit,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: `${theme.spacing.unit}px !important`,\n width: 'fit-content !important',\n },\n});\n\nclass AnswerConfigBlock extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n onDeleteRow: PropTypes.func.isRequired,\n onAddRow: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n toolbarOpts: PropTypes.object,\n spellCheck: PropTypes.bool,\n };\n\n moveRow = (from, to) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n const rows = newModel.rows || [];\n\n log('[moveRow]: ', from, to);\n\n const { movedRow, remainingRows } = rows.reduce(\n (acc, item, index) => {\n if (index === from) {\n acc.movedRow = item;\n } else {\n acc.remainingRows.push(item);\n }\n\n return acc;\n },\n { movedRow: null, remainingRows: [] },\n );\n\n const update = [...remainingRows.slice(0, to), movedRow, ...remainingRows.slice(to)];\n\n log('update: ', update);\n\n newModel.rows = update;\n\n onChange(newModel);\n };\n\n onChange =\n (name, isBoolean) =>\n ({ target }) => {\n const { model, onChange } = this.props;\n let value;\n\n if (isBoolean) {\n value = target.checked;\n } else {\n value = target.value;\n }\n\n lodash.set(model, name, value);\n onChange(model, name);\n };\n\n onHeaderChange = (headerIndex) => (value) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n if (headerIndex === 0) {\n newModel.headers[headerIndex] = value;\n onChange(newModel);\n\n return;\n }\n\n newModel.headers[headerIndex] = value;\n onChange(newModel);\n };\n\n render() {\n const { classes, model, onAddRow, imageSupport, configuration, toolbarOpts, spellCheck, uploadSoundSupport } =\n this.props;\n const { headers = {}, maxImageWidth = {}, maxImageHeight = {}, mathMlOptions = {}, minQuestions } = configuration || {};\n const { errors } = model || {};\n const { correctResponseError, rowsErrors, columnsErrors, noOfRowsError, columnsLengthError } = errors || {};\n\n const filteredDefaultPlugins = (DEFAULT_PLUGINS || []).filter(\n (p) => p !== 'table' && p !== 'bulleted-list' && p !== 'numbered-list',\n );\n const labelPlugins = {\n audio: { disabled: true },\n video: { disabled: true },\n };\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n return (\n <div className={classes.container}>\n <Typography type=\"body1\" component=\"div\">\n Click on the labels to edit or remove. Set the correct answers by clicking each correct answer per row.\n </Typography>\n {correctResponseError && <div className={classes.errorText}>{correctResponseError}</div>}\n {noOfRowsError && <div className={classes.errorText}>{noOfRowsError}</div>}\n {columnsLengthError && <div className={classes.errorText}>{columnsLengthError}</div>}\n\n <div\n className={classes.rowTable}\n style={configuration.width ? { width: configuration.width, overflow: 'scroll' } : {}}\n >\n <div className={classes.rowContainer}>\n {headers.settings &&\n (model.headers || []).map((header, idx) => (\n <div\n key={idx}\n className={cx(classes.rowItem, {\n [classes.questionText]: idx === 0,\n })}\n >\n <EditableHTML\n onChange={this.onHeaderChange(idx)}\n markup={header}\n className={columnsErrors && !columnsErrors[idx] ? classes.marginBottom : classes.headerInput}\n label={'column label'}\n activePlugins={filteredDefaultPlugins}\n pluginProps={labelPlugins}\n autoWidthToolbar\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n error={columnsErrors && columnsErrors[idx]}\n />\n {columnsErrors && columnsErrors[idx] && <div className={classes.errorText}>{columnsErrors[idx]}</div>}\n </div>\n ))}\n <div className={classes.deleteIcon} />\n </div>\n\n {model.rows.map((row, idx) => (\n <Row\n key={idx}\n model={model}\n row={row}\n idx={idx}\n onDeleteRow={this.props.onDeleteRow}\n onChange={this.props.onChange}\n onMoveRow={this.moveRow}\n imageSupport={imageSupport}\n enableImages={model.enableImages}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheck}\n error={rowsErrors?.[row.id]}\n maxImageWidth={(maxImageWidth && maxImageWidth.rowTitles) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rowTitles) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n minQuestions={minQuestions}\n />\n ))}\n\n <AddRow onAddClick={onAddRow} />\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(AnswerConfigBlock);\n"],"file":"answer-config-block.js"}
|
|
@@ -29,7 +29,7 @@ var _styles = require("@material-ui/core/styles");
|
|
|
29
29
|
|
|
30
30
|
var _configUi = require("@pie-lib/pie-toolbox/config-ui");
|
|
31
31
|
|
|
32
|
-
var _editableHtml = require("@pie-lib/pie-toolbox/editable-html");
|
|
32
|
+
var _editableHtml = _interopRequireDefault(require("@pie-lib/pie-toolbox/editable-html"));
|
|
33
33
|
|
|
34
34
|
var _drag = require("@pie-lib/pie-toolbox/drag");
|
|
35
35
|
|
|
@@ -357,7 +357,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
357
357
|
}, teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
358
358
|
label: teacherInstructions.label,
|
|
359
359
|
className: classes.promptHolder
|
|
360
|
-
}, /*#__PURE__*/_react["default"].createElement(_editableHtml
|
|
360
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
361
361
|
className: classes.prompt,
|
|
362
362
|
markup: model.teacherInstructions || '',
|
|
363
363
|
onChange: this.onTeacherInstructionsChanged,
|
|
@@ -376,7 +376,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
376
376
|
})), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
377
377
|
label: prompt.label,
|
|
378
378
|
className: classes.promptHolder
|
|
379
|
-
}, /*#__PURE__*/_react["default"].createElement(_editableHtml
|
|
379
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
380
380
|
className: classes.prompt,
|
|
381
381
|
markup: model.prompt,
|
|
382
382
|
onChange: this.onPromptChanged,
|
|
@@ -411,7 +411,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
411
411
|
}), rationaleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
412
412
|
label: rationale.label,
|
|
413
413
|
className: classes.promptHolder
|
|
414
|
-
}, /*#__PURE__*/_react["default"].createElement(_editableHtml
|
|
414
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
415
415
|
className: classes.prompt,
|
|
416
416
|
markup: model.rationale || '',
|
|
417
417
|
onChange: this.onRationaleChanged,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/configure.jsx"],"names":["log","Panel","settings","toggle","radio","dropdown","styles","theme","promptHolder","width","paddingTop","spacing","unit","marginBottom","Configure","props","event","value","setState","activeTab","index","model","onModelChanged","feedback","rowIndex","newModel","rows","splice","onChange","configuration","maxQuestions","length","dialog","open","text","concat","id","rowIdCounter","title","values","Array","layout","fill","newLayout","oldLayout","i","headers","push","forEach","row","newChoiceMode","trueCount","reduce","total","current","choiceMode","partialScoring","prompt","teacherInstructions","rationale","maxId","Math","max","map","state","validateRowsID","updatedRows","wasChanged","classes","imageSupport","onConfigurationChanged","uploadSoundSupport","contentDimensions","enableImages","lockChoiceOrder","maxImageWidth","maxImageHeight","settingsPanelDisabled","scoringType","spellCheck","studentInstructions","withRubric","language","languageChoices","feedbackEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","toolbarOpts","position","defaultImageMaxWidth","defaultImageMaxHeight","panelSettings","label","enabled","options","panelProperties","studentInstructionsEnabled","rubricEnabled","config","Settings","Properties","onTeacherInstructionsChanged","onPromptChanged","onResponseTypeChange","onLayoutChange","onAddRow","onDeleteRow","onRationaleChanged","onFeedbackChange","React","Component","PropTypes","func","object","isRequired","shape","add","Config"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { FeedbackConfig, settings, layout, InputContainer, AlertDialog } from '@pie-lib/pie-toolbox/config-ui';\nimport {EditableHtml} from '@pie-lib/pie-toolbox/editable-html';\nimport { withDragContext } from '@pie-lib/pie-toolbox/drag';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport GeneralConfigBlock from './general-config-block';\nimport AnswerConfigBlock from './answer-config-block';\n\nconst log = debug('@pie-element:match:configure');\nconst { Panel, toggle, radio, dropdown } = settings;\n\nconst styles = (theme) => ({\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n});\n\nclass Configure extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n classes: PropTypes.object,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n static defaultProps = {\n classes: {},\n };\n\n constructor(props) {\n super(props);\n\n let maxId = 0;\n\n if (props.model.rows && props.model.rows.length > 0) {\n maxId = Math.max(...props.model.rows.map(row => row.id));\n }\n\n this.rowIdCounter = maxId + 1;\n\n this.state = {\n activeTab: 0,\n dialog: {\n open: false,\n text: '',\n },\n };\n }\n\n componentDidMount() {\n const { updatedRows, wasChanged } = this.validateRowsID(this.props.model.rows);\n\n if (wasChanged) {\n const newModel = { ...this.props.model, rows: updatedRows };\n this.props.onModelChanged(newModel);\n }\n }\n\n validateRowsID(rows) {\n let wasChanged = false;\n\n const updatedRows = (rows || []).map((row, index) => {\n if (row.id !== index + 1) {\n wasChanged = true;\n\n return { ...row, id: index + 1 };\n }\n\n return row;\n });\n\n return { updatedRows, wasChanged };\n }\n\n onTabChange = (event, value) => {\n this.setState({ activeTab: value });\n };\n\n onChangeTabIndex = (index) => {\n this.setState({ activeTab: index });\n };\n\n onChange = (model) => {\n this.props.onModelChanged(model);\n };\n\n onFeedbackChange = (feedback) => {\n const { model, onModelChanged } = this.props;\n model.feedback = feedback;\n\n onModelChanged(model);\n };\n\n onDeleteRow = (rowIndex) => {\n const { model } = this.props;\n const newModel = { ...model };\n\n newModel.rows.splice(rowIndex, 1);\n\n this.onChange(newModel);\n };\n\n onAddRow = () => {\n const { model, configuration } = this.props;\n const newModel = { ...model };\n const { maxQuestions } = configuration || {};\n\n if (maxQuestions && (newModel.rows || []).length >= maxQuestions) {\n this.setState({\n dialog: {\n open: true,\n text: `There can be maximum ${maxQuestions} question row` + (maxQuestions > 1 ? 's' : '') + '.',\n },\n });\n return;\n }\n\n newModel.rows = newModel.rows.concat({\n id: this.rowIdCounter + 1,\n title: `Question Text ${(newModel.rows || []).length + 1}`,\n values: new Array(model.layout - 1).fill(false),\n });\n\n this.rowIdCounter += 1;\n\n this.onChange(newModel);\n };\n\n onLayoutChange = (newLayout) => {\n const { model } = this.props;\n const oldLayout = model.layout;\n const newModel = { ...model };\n\n if (newLayout > oldLayout) {\n for (let i = 0; i < newLayout - oldLayout; i++) {\n newModel.headers.push(`Column ${newModel.headers.length + 1}`);\n }\n\n newModel.rows.forEach((row) => {\n for (let i = 0; i < newLayout - oldLayout; i++) {\n row.values.push(false);\n }\n });\n } else if (newLayout < oldLayout) {\n newModel.headers.splice(newLayout);\n\n newModel.rows.forEach((row) => {\n row.values.splice(newLayout - 1);\n });\n }\n\n newModel.layout = newLayout;\n\n this.onChange(newModel);\n };\n\n onResponseTypeChange = (newChoiceMode) => {\n const { model } = this.props;\n const newModel = { ...model };\n\n // if we're switching to radio and we have more than one true, reset\n if (newChoiceMode === 'radio') {\n newModel.rows.forEach((row) => {\n const trueCount = row.values.reduce((total, current) => (current === true ? total + 1 : total));\n\n if (trueCount > 1) {\n row.values = new Array(model.layout - 1).fill(false);\n }\n });\n }\n\n newModel.choiceMode = newChoiceMode;\n\n this.onChange(newModel);\n };\n\n onPartialScoringChange = (partialScoring) => {\n this.props.model.partialScoring = partialScoring;\n\n this.props.onModelChanged(this.props.model);\n };\n\n onPromptChanged = (prompt) => {\n this.props.onModelChanged({ ...this.props.model, prompt });\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n this.props.onModelChanged({ ...this.props.model, teacherInstructions });\n };\n\n onRationaleChanged = (rationale) => {\n this.props.onModelChanged({ ...this.props.model, rationale });\n };\n\n render() {\n const { classes, model, imageSupport, onModelChanged, configuration, onConfigurationChanged, uploadSoundSupport } =\n this.props;\n const {\n contentDimensions = {},\n enableImages = {},\n feedback = {},\n lockChoiceOrder = {},\n maxImageWidth = {},\n maxImageHeight = {},\n partialScoring = {},\n prompt = {},\n rationale = {},\n settingsPanelDisabled,\n scoringType = {},\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n withRubric = {},\n language = {},\n languageChoices = {},\n } = configuration || {};\n const {\n feedbackEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n const { dialog } = this.state;\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const panelSettings = {\n enableImages: enableImages.settings && toggle(enableImages.label),\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder: lockChoiceOrder.settings && toggle(lockChoiceOrder.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n };\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n log('[render] model', model);\n\n return (\n <layout.ConfigLayout\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={(config) => onConfigurationChanged(config)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\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={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.prompt}\n maxImageHeight={maxImageHeight && maxImageHeight.prompt}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n <GeneralConfigBlock\n model={model}\n configuration={configuration}\n onResponseTypeChange={this.onResponseTypeChange}\n onLayoutChange={this.onLayoutChange}\n />\n\n <AnswerConfigBlock\n model={model}\n configuration={configuration}\n imageSupport={imageSupport}\n onChange={this.onChange}\n onAddRow={this.onAddRow}\n onDeleteRow={this.onDeleteRow}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n />\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {feedbackEnabled && (\n <FeedbackConfig feedback={model.feedback} onChange={this.onFeedbackChange} toolbarOpts={toolbarOpts} />\n )}\n <AlertDialog\n open={dialog.open}\n title=\"Warning\"\n text={dialog.text}\n onConfirm={() => this.setState({ dialog: { open: false } })}\n />\n </layout.ConfigLayout>\n );\n }\n}\n\nexport const Config = Configure;\n\nexport default withDragContext(withStyles(styles)(Configure));\n"],"file":"configure.js"}
|
|
1
|
+
{"version":3,"sources":["../src/configure.jsx"],"names":["log","Panel","settings","toggle","radio","dropdown","styles","theme","promptHolder","width","paddingTop","spacing","unit","marginBottom","Configure","props","event","value","setState","activeTab","index","model","onModelChanged","feedback","rowIndex","newModel","rows","splice","onChange","configuration","maxQuestions","length","dialog","open","text","concat","id","rowIdCounter","title","values","Array","layout","fill","newLayout","oldLayout","i","headers","push","forEach","row","newChoiceMode","trueCount","reduce","total","current","choiceMode","partialScoring","prompt","teacherInstructions","rationale","maxId","Math","max","map","state","validateRowsID","updatedRows","wasChanged","classes","imageSupport","onConfigurationChanged","uploadSoundSupport","contentDimensions","enableImages","lockChoiceOrder","maxImageWidth","maxImageHeight","settingsPanelDisabled","scoringType","spellCheck","studentInstructions","withRubric","language","languageChoices","feedbackEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","toolbarOpts","position","defaultImageMaxWidth","defaultImageMaxHeight","panelSettings","label","enabled","options","panelProperties","studentInstructionsEnabled","rubricEnabled","config","Settings","Properties","onTeacherInstructionsChanged","onPromptChanged","onResponseTypeChange","onLayoutChange","onAddRow","onDeleteRow","onRationaleChanged","onFeedbackChange","React","Component","PropTypes","func","object","isRequired","shape","add","Config"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { FeedbackConfig, settings, layout, InputContainer, AlertDialog } from '@pie-lib/pie-toolbox/config-ui';\nimport EditableHtml from '@pie-lib/pie-toolbox/editable-html';\nimport { withDragContext } from '@pie-lib/pie-toolbox/drag';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport GeneralConfigBlock from './general-config-block';\nimport AnswerConfigBlock from './answer-config-block';\n\nconst log = debug('@pie-element:match:configure');\nconst { Panel, toggle, radio, dropdown } = settings;\n\nconst styles = (theme) => ({\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n});\n\nclass Configure extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n classes: PropTypes.object,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n static defaultProps = {\n classes: {},\n };\n\n constructor(props) {\n super(props);\n\n let maxId = 0;\n\n if (props.model.rows && props.model.rows.length > 0) {\n maxId = Math.max(...props.model.rows.map(row => row.id));\n }\n\n this.rowIdCounter = maxId + 1;\n\n this.state = {\n activeTab: 0,\n dialog: {\n open: false,\n text: '',\n },\n };\n }\n\n componentDidMount() {\n const { updatedRows, wasChanged } = this.validateRowsID(this.props.model.rows);\n\n if (wasChanged) {\n const newModel = { ...this.props.model, rows: updatedRows };\n this.props.onModelChanged(newModel);\n }\n }\n\n validateRowsID(rows) {\n let wasChanged = false;\n\n const updatedRows = (rows || []).map((row, index) => {\n if (row.id !== index + 1) {\n wasChanged = true;\n\n return { ...row, id: index + 1 };\n }\n\n return row;\n });\n\n return { updatedRows, wasChanged };\n }\n\n onTabChange = (event, value) => {\n this.setState({ activeTab: value });\n };\n\n onChangeTabIndex = (index) => {\n this.setState({ activeTab: index });\n };\n\n onChange = (model) => {\n this.props.onModelChanged(model);\n };\n\n onFeedbackChange = (feedback) => {\n const { model, onModelChanged } = this.props;\n model.feedback = feedback;\n\n onModelChanged(model);\n };\n\n onDeleteRow = (rowIndex) => {\n const { model } = this.props;\n const newModel = { ...model };\n\n newModel.rows.splice(rowIndex, 1);\n\n this.onChange(newModel);\n };\n\n onAddRow = () => {\n const { model, configuration } = this.props;\n const newModel = { ...model };\n const { maxQuestions } = configuration || {};\n\n if (maxQuestions && (newModel.rows || []).length >= maxQuestions) {\n this.setState({\n dialog: {\n open: true,\n text: `There can be maximum ${maxQuestions} question row` + (maxQuestions > 1 ? 's' : '') + '.',\n },\n });\n return;\n }\n\n newModel.rows = newModel.rows.concat({\n id: this.rowIdCounter + 1,\n title: `Question Text ${(newModel.rows || []).length + 1}`,\n values: new Array(model.layout - 1).fill(false),\n });\n\n this.rowIdCounter += 1;\n\n this.onChange(newModel);\n };\n\n onLayoutChange = (newLayout) => {\n const { model } = this.props;\n const oldLayout = model.layout;\n const newModel = { ...model };\n\n if (newLayout > oldLayout) {\n for (let i = 0; i < newLayout - oldLayout; i++) {\n newModel.headers.push(`Column ${newModel.headers.length + 1}`);\n }\n\n newModel.rows.forEach((row) => {\n for (let i = 0; i < newLayout - oldLayout; i++) {\n row.values.push(false);\n }\n });\n } else if (newLayout < oldLayout) {\n newModel.headers.splice(newLayout);\n\n newModel.rows.forEach((row) => {\n row.values.splice(newLayout - 1);\n });\n }\n\n newModel.layout = newLayout;\n\n this.onChange(newModel);\n };\n\n onResponseTypeChange = (newChoiceMode) => {\n const { model } = this.props;\n const newModel = { ...model };\n\n // if we're switching to radio and we have more than one true, reset\n if (newChoiceMode === 'radio') {\n newModel.rows.forEach((row) => {\n const trueCount = row.values.reduce((total, current) => (current === true ? total + 1 : total));\n\n if (trueCount > 1) {\n row.values = new Array(model.layout - 1).fill(false);\n }\n });\n }\n\n newModel.choiceMode = newChoiceMode;\n\n this.onChange(newModel);\n };\n\n onPartialScoringChange = (partialScoring) => {\n this.props.model.partialScoring = partialScoring;\n\n this.props.onModelChanged(this.props.model);\n };\n\n onPromptChanged = (prompt) => {\n this.props.onModelChanged({ ...this.props.model, prompt });\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n this.props.onModelChanged({ ...this.props.model, teacherInstructions });\n };\n\n onRationaleChanged = (rationale) => {\n this.props.onModelChanged({ ...this.props.model, rationale });\n };\n\n render() {\n const { classes, model, imageSupport, onModelChanged, configuration, onConfigurationChanged, uploadSoundSupport } =\n this.props;\n const {\n contentDimensions = {},\n enableImages = {},\n feedback = {},\n lockChoiceOrder = {},\n maxImageWidth = {},\n maxImageHeight = {},\n partialScoring = {},\n prompt = {},\n rationale = {},\n settingsPanelDisabled,\n scoringType = {},\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n withRubric = {},\n language = {},\n languageChoices = {},\n } = configuration || {};\n const {\n feedbackEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n const { dialog } = this.state;\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const panelSettings = {\n enableImages: enableImages.settings && toggle(enableImages.label),\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder: lockChoiceOrder.settings && toggle(lockChoiceOrder.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n };\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n log('[render] model', model);\n\n return (\n <layout.ConfigLayout\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={(config) => onConfigurationChanged(config)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\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={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.prompt}\n maxImageHeight={maxImageHeight && maxImageHeight.prompt}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n <GeneralConfigBlock\n model={model}\n configuration={configuration}\n onResponseTypeChange={this.onResponseTypeChange}\n onLayoutChange={this.onLayoutChange}\n />\n\n <AnswerConfigBlock\n model={model}\n configuration={configuration}\n imageSupport={imageSupport}\n onChange={this.onChange}\n onAddRow={this.onAddRow}\n onDeleteRow={this.onDeleteRow}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n />\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {feedbackEnabled && (\n <FeedbackConfig feedback={model.feedback} onChange={this.onFeedbackChange} toolbarOpts={toolbarOpts} />\n )}\n <AlertDialog\n open={dialog.open}\n title=\"Warning\"\n text={dialog.text}\n onConfirm={() => this.setState({ dialog: { open: false } })}\n />\n </layout.ConfigLayout>\n );\n }\n}\n\nexport const Config = Configure;\n\nexport default withDragContext(withStyles(styles)(Configure));\n"],"file":"configure.js"}
|
package/configure/lib/row.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
@@ -43,7 +45,11 @@ var _reactDnd = require("react-dnd");
|
|
|
43
45
|
|
|
44
46
|
var _debug = _interopRequireDefault(require("debug"));
|
|
45
47
|
|
|
46
|
-
var _editableHtml = require("@pie-lib/pie-toolbox/editable-html");
|
|
48
|
+
var _editableHtml = _interopRequireWildcard(require("@pie-lib/pie-toolbox/editable-html"));
|
|
49
|
+
|
|
50
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
51
|
+
|
|
52
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
47
53
|
|
|
48
54
|
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; }
|
|
49
55
|
|
|
@@ -196,7 +202,7 @@ var Row = /*#__PURE__*/function (_React$Component) {
|
|
|
196
202
|
className: classes.rowContainer
|
|
197
203
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
198
204
|
className: (0, _classnames["default"])(classes.rowItem, classes.questionText)
|
|
199
|
-
}, /*#__PURE__*/_react["default"].createElement(_editableHtml
|
|
205
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
200
206
|
imageSupport: imageSupport,
|
|
201
207
|
autoWidthToolbar: true,
|
|
202
208
|
disableUnderline: true,
|
package/configure/lib/row.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/row.jsx"],"names":["log","canDrag","Row","dialog","open","text","rowIndex","value","props","model","onChange","newModel","rows","title","rowValueIndex","event","choiceMode","i","values","length","target","checked","idx","onDeleteRow","minQuestions","setState","document","addEventListener","onMouseUpOnHandle","classes","imageSupport","connectDragSource","connectDropTarget","isDragging","row","enableImages","toolbarOpts","spellCheck","error","maxImageWidth","maxImageHeight","uploadSoundSupport","mathMlOptions","state","opacity","rowPlugins","image","disabled","audio","video","filteredDefaultPlugins","DEFAULT_PLUGINS","filter","p","content","width","dragHandle","onMouseDownOnHandle","rowContainer","rowItem","questionText","onRowTitleChange","editor","language","map","rowValue","rowIdx","errorResponse","onRowValueChange","deleteIcon","errorText","separator","React","Component","PropTypes","object","isRequired","number","bool","func","onMoveRow","shape","add","string","styles","theme","actions","padding","justifyContent","choice","spacing","unit","overflow","cursor","dragDisabled","container","marginTop","display","flexDirection","alignItems","flex","minWidth","maxWidth","textAlign","marginRight","border","borderTop","palette","grey","fontSize","typography","color","main","paddingTop","StyledRow","NAME","choiceSource","beginDrag","id","index","StyledSource","connect","monitor","dragSource","choiceTarget","hover","drop","item","getItem","didDrop","StyledSourceAndTarget","dropTarget"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { AlertDialog, Checkbox } from '@pie-lib/pie-toolbox/config-ui';\nimport DragHandle from '@material-ui/icons/DragHandle';\nimport Radio from '@material-ui/core/Radio';\nimport IconButton from '@material-ui/core/IconButton';\nimport Delete from '@material-ui/icons/Delete';\nimport { DragSource, DropTarget } from 'react-dnd';\nimport debug from 'debug';\nimport { EditableHtml, DEFAULT_PLUGINS } from '@pie-lib/pie-toolbox/editable-html';\n\nconst log = debug('@pie-element:categorize:configure:choice');\n\nexport let canDrag = false;\n\nexport class Row extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n row: PropTypes.object.isRequired,\n idx: PropTypes.number.isRequired,\n isDragging: PropTypes.bool.isRequired,\n maxImageWidth: PropTypes.object,\n maxImageHeight: PropTypes.object,\n onDeleteRow: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n connectDragSource: PropTypes.func.isRequired,\n connectDropTarget: PropTypes.func.isRequired,\n onMoveRow: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n enableImages: PropTypes.bool,\n toolbarOpts: PropTypes.object,\n error: PropTypes.string,\n spellCheck: PropTypes.bool,\n minQuestions: PropTypes.number,\n };\n\n static defaultProps = {};\n\n state = {\n dialog: {\n open: false,\n text: '',\n },\n };\n\n componentDidMount() {\n document.addEventListener('mouseup', this.onMouseUpOnHandle);\n }\n\n onRowTitleChange = (rowIndex) => (value) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n newModel.rows[rowIndex].title = value;\n onChange(newModel);\n };\n\n onRowValueChange = (rowIndex, rowValueIndex) => (event) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n if (model.choiceMode === 'radio') {\n for (let i = 0; i < newModel.rows[rowIndex].values.length; i++) {\n newModel.rows[rowIndex].values[i] = false;\n }\n }\n\n newModel.rows[rowIndex].values[rowValueIndex] = event.target.checked;\n\n onChange(newModel);\n };\n\n onDeleteRow = (idx) => () => {\n const { model, onDeleteRow, minQuestions } = this.props;\n\n if (model.rows && model.rows.length === minQuestions) {\n this.setState({\n dialog: {\n open: true,\n text: `There should be at least ${minQuestions} question row` + (minQuestions > 1 ? 's' : '') + '.',\n },\n });\n } else {\n onDeleteRow(idx);\n }\n };\n\n onMouseDownOnHandle = () => {\n canDrag = true;\n };\n\n onMouseUpOnHandle = () => {\n canDrag = false;\n };\n\n render() {\n const {\n classes,\n imageSupport,\n connectDragSource,\n connectDropTarget,\n isDragging,\n model,\n row,\n idx,\n enableImages,\n toolbarOpts,\n spellCheck,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n mathMlOptions = {},\n } = this.props;\n const { dialog } = this.state;\n const opacity = isDragging ? 0 : 1;\n\n const rowPlugins = {\n image: {\n disabled: !enableImages,\n },\n audio: { disabled: true },\n video: { disabled: true },\n };\n const filteredDefaultPlugins = (DEFAULT_PLUGINS || []).filter(\n (p) => p !== 'bulleted-list' && p !== 'numbered-list',\n );\n\n const content = (\n <div style={{ opacity: opacity, width: '100%' }}>\n <span itemID={'handle'} className={classes.dragHandle} onMouseDown={this.onMouseDownOnHandle}>\n <DragHandle color={'primary'} />\n </span>\n\n <div className={classes.rowContainer}>\n <div className={classNames(classes.rowItem, classes.questionText)}>\n <EditableHtml\n imageSupport={imageSupport}\n autoWidthToolbar\n disableUnderline\n label={'label'}\n markup={row.title}\n onChange={this.onRowTitleChange(idx)}\n className={classes.editor}\n pluginProps={rowPlugins}\n toolbarOpts={toolbarOpts}\n activePlugins={filteredDefaultPlugins}\n spellCheck={spellCheck}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n error={error && error !== 'No correct response defined.'}\n mathMlOptions={mathMlOptions}\n />\n </div>\n\n {row.values.map((rowValue, rowIdx) => (\n <div key={rowIdx} className={classes.rowItem}>\n {model.choiceMode === 'radio' ? (\n <Radio\n className={classNames({ [classes.errorResponse]: error === 'No correct response defined.' })}\n onChange={this.onRowValueChange(idx, rowIdx)}\n checked={rowValue === true}\n />\n ) : (\n <Checkbox\n onChange={this.onRowValueChange(idx, rowIdx)}\n checked={rowValue === true}\n label={''}\n error={error === 'No correct response defined.'}\n />\n )}\n </div>\n ))}\n\n <div className={classes.deleteIcon}>\n <IconButton onClick={this.onDeleteRow(idx)} aria-label=\"Delete\">\n <Delete />\n </IconButton>\n </div>\n </div>\n\n {error && <div className={classes.errorText}>{error}</div>}\n <hr className={classes.separator} />\n\n <AlertDialog\n open={dialog.open}\n title=\"Warning\"\n text={dialog.text}\n onConfirm={() => this.setState({ dialog: { open: false } })}\n />\n </div>\n );\n\n return connectDragSource(connectDropTarget(content));\n }\n}\n\nconst styles = (theme) => ({\n actions: {\n padding: 0,\n justifyContent: 'space-between',\n },\n choice: {\n padding: theme.spacing.unit,\n overflow: 'visible',\n },\n dragHandle: {\n cursor: 'move',\n },\n dragDisabled: {\n cursor: 'inherit',\n },\n\n container: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex',\n flexDirection: 'column',\n },\n rowContainer: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n },\n rowItem: {\n flex: 1,\n display: 'flex',\n justifyContent: 'center',\n minWidth: '150px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n deleteIcon: {\n flex: 0.5,\n display: 'flex',\n justifyContent: 'center',\n minWidth: '48px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n questionText: {\n flex: 2,\n display: 'flex',\n justifyContent: 'flex-start',\n padding: 0,\n maxWidth: 'unset',\n textAlign: 'left',\n minWidth: '350px',\n marginRight: theme.spacing.unit,\n '&> div': {\n width: '100%',\n },\n },\n separator: {\n marginTop: theme.spacing.unit * 2,\n border: 0,\n borderTop: `2px solid ${theme.palette.grey['A100']}`,\n width: '100%',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n errorResponse: {\n color: theme.palette.error.main,\n },\n});\n\nconst StyledRow = withStyles(styles)(Row);\n\nconst NAME = 'row-config';\n\nexport const choiceSource = {\n canDrag() {\n return canDrag;\n },\n beginDrag(props) {\n return {\n id: props.row.id,\n index: props.idx,\n };\n },\n};\n\nconst StyledSource = DragSource(NAME, choiceSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(StyledRow);\n\nexport const choiceTarget = {\n hover() {\n log('[hover]');\n },\n drop(props, monitor) {\n const item = monitor.getItem();\n\n log('[drop] item: ', item, 'didDrop?', monitor.didDrop());\n\n props.onMoveRow(item.index, props.idx);\n },\n};\n\nconst StyledSourceAndTarget = DropTarget(NAME, choiceTarget, (connect) => ({\n connectDropTarget: connect.dropTarget(),\n}))(StyledSource);\n\nexport default StyledSourceAndTarget;\n"],"file":"row.js"}
|
|
1
|
+
{"version":3,"sources":["../src/row.jsx"],"names":["log","canDrag","Row","dialog","open","text","rowIndex","value","props","model","onChange","newModel","rows","title","rowValueIndex","event","choiceMode","i","values","length","target","checked","idx","onDeleteRow","minQuestions","setState","document","addEventListener","onMouseUpOnHandle","classes","imageSupport","connectDragSource","connectDropTarget","isDragging","row","enableImages","toolbarOpts","spellCheck","error","maxImageWidth","maxImageHeight","uploadSoundSupport","mathMlOptions","state","opacity","rowPlugins","image","disabled","audio","video","filteredDefaultPlugins","DEFAULT_PLUGINS","filter","p","content","width","dragHandle","onMouseDownOnHandle","rowContainer","rowItem","questionText","onRowTitleChange","editor","language","map","rowValue","rowIdx","errorResponse","onRowValueChange","deleteIcon","errorText","separator","React","Component","PropTypes","object","isRequired","number","bool","func","onMoveRow","shape","add","string","styles","theme","actions","padding","justifyContent","choice","spacing","unit","overflow","cursor","dragDisabled","container","marginTop","display","flexDirection","alignItems","flex","minWidth","maxWidth","textAlign","marginRight","border","borderTop","palette","grey","fontSize","typography","color","main","paddingTop","StyledRow","NAME","choiceSource","beginDrag","id","index","StyledSource","connect","monitor","dragSource","choiceTarget","hover","drop","item","getItem","didDrop","StyledSourceAndTarget","dropTarget"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { AlertDialog, Checkbox } from '@pie-lib/pie-toolbox/config-ui';\nimport DragHandle from '@material-ui/icons/DragHandle';\nimport Radio from '@material-ui/core/Radio';\nimport IconButton from '@material-ui/core/IconButton';\nimport Delete from '@material-ui/icons/Delete';\nimport { DragSource, DropTarget } from 'react-dnd';\nimport debug from 'debug';\nimport EditableHtml, { DEFAULT_PLUGINS } from '@pie-lib/pie-toolbox/editable-html';\n\nconst log = debug('@pie-element:categorize:configure:choice');\n\nexport let canDrag = false;\n\nexport class Row extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n row: PropTypes.object.isRequired,\n idx: PropTypes.number.isRequired,\n isDragging: PropTypes.bool.isRequired,\n maxImageWidth: PropTypes.object,\n maxImageHeight: PropTypes.object,\n onDeleteRow: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n connectDragSource: PropTypes.func.isRequired,\n connectDropTarget: PropTypes.func.isRequired,\n onMoveRow: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n enableImages: PropTypes.bool,\n toolbarOpts: PropTypes.object,\n error: PropTypes.string,\n spellCheck: PropTypes.bool,\n minQuestions: PropTypes.number,\n };\n\n static defaultProps = {};\n\n state = {\n dialog: {\n open: false,\n text: '',\n },\n };\n\n componentDidMount() {\n document.addEventListener('mouseup', this.onMouseUpOnHandle);\n }\n\n onRowTitleChange = (rowIndex) => (value) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n newModel.rows[rowIndex].title = value;\n onChange(newModel);\n };\n\n onRowValueChange = (rowIndex, rowValueIndex) => (event) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n if (model.choiceMode === 'radio') {\n for (let i = 0; i < newModel.rows[rowIndex].values.length; i++) {\n newModel.rows[rowIndex].values[i] = false;\n }\n }\n\n newModel.rows[rowIndex].values[rowValueIndex] = event.target.checked;\n\n onChange(newModel);\n };\n\n onDeleteRow = (idx) => () => {\n const { model, onDeleteRow, minQuestions } = this.props;\n\n if (model.rows && model.rows.length === minQuestions) {\n this.setState({\n dialog: {\n open: true,\n text: `There should be at least ${minQuestions} question row` + (minQuestions > 1 ? 's' : '') + '.',\n },\n });\n } else {\n onDeleteRow(idx);\n }\n };\n\n onMouseDownOnHandle = () => {\n canDrag = true;\n };\n\n onMouseUpOnHandle = () => {\n canDrag = false;\n };\n\n render() {\n const {\n classes,\n imageSupport,\n connectDragSource,\n connectDropTarget,\n isDragging,\n model,\n row,\n idx,\n enableImages,\n toolbarOpts,\n spellCheck,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n mathMlOptions = {},\n } = this.props;\n const { dialog } = this.state;\n const opacity = isDragging ? 0 : 1;\n\n const rowPlugins = {\n image: {\n disabled: !enableImages,\n },\n audio: { disabled: true },\n video: { disabled: true },\n };\n const filteredDefaultPlugins = (DEFAULT_PLUGINS || []).filter(\n (p) => p !== 'bulleted-list' && p !== 'numbered-list',\n );\n\n const content = (\n <div style={{ opacity: opacity, width: '100%' }}>\n <span itemID={'handle'} className={classes.dragHandle} onMouseDown={this.onMouseDownOnHandle}>\n <DragHandle color={'primary'} />\n </span>\n\n <div className={classes.rowContainer}>\n <div className={classNames(classes.rowItem, classes.questionText)}>\n <EditableHtml\n imageSupport={imageSupport}\n autoWidthToolbar\n disableUnderline\n label={'label'}\n markup={row.title}\n onChange={this.onRowTitleChange(idx)}\n className={classes.editor}\n pluginProps={rowPlugins}\n toolbarOpts={toolbarOpts}\n activePlugins={filteredDefaultPlugins}\n spellCheck={spellCheck}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n error={error && error !== 'No correct response defined.'}\n mathMlOptions={mathMlOptions}\n />\n </div>\n\n {row.values.map((rowValue, rowIdx) => (\n <div key={rowIdx} className={classes.rowItem}>\n {model.choiceMode === 'radio' ? (\n <Radio\n className={classNames({ [classes.errorResponse]: error === 'No correct response defined.' })}\n onChange={this.onRowValueChange(idx, rowIdx)}\n checked={rowValue === true}\n />\n ) : (\n <Checkbox\n onChange={this.onRowValueChange(idx, rowIdx)}\n checked={rowValue === true}\n label={''}\n error={error === 'No correct response defined.'}\n />\n )}\n </div>\n ))}\n\n <div className={classes.deleteIcon}>\n <IconButton onClick={this.onDeleteRow(idx)} aria-label=\"Delete\">\n <Delete />\n </IconButton>\n </div>\n </div>\n\n {error && <div className={classes.errorText}>{error}</div>}\n <hr className={classes.separator} />\n\n <AlertDialog\n open={dialog.open}\n title=\"Warning\"\n text={dialog.text}\n onConfirm={() => this.setState({ dialog: { open: false } })}\n />\n </div>\n );\n\n return connectDragSource(connectDropTarget(content));\n }\n}\n\nconst styles = (theme) => ({\n actions: {\n padding: 0,\n justifyContent: 'space-between',\n },\n choice: {\n padding: theme.spacing.unit,\n overflow: 'visible',\n },\n dragHandle: {\n cursor: 'move',\n },\n dragDisabled: {\n cursor: 'inherit',\n },\n\n container: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex',\n flexDirection: 'column',\n },\n rowContainer: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n },\n rowItem: {\n flex: 1,\n display: 'flex',\n justifyContent: 'center',\n minWidth: '150px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n deleteIcon: {\n flex: 0.5,\n display: 'flex',\n justifyContent: 'center',\n minWidth: '48px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n questionText: {\n flex: 2,\n display: 'flex',\n justifyContent: 'flex-start',\n padding: 0,\n maxWidth: 'unset',\n textAlign: 'left',\n minWidth: '350px',\n marginRight: theme.spacing.unit,\n '&> div': {\n width: '100%',\n },\n },\n separator: {\n marginTop: theme.spacing.unit * 2,\n border: 0,\n borderTop: `2px solid ${theme.palette.grey['A100']}`,\n width: '100%',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n errorResponse: {\n color: theme.palette.error.main,\n },\n});\n\nconst StyledRow = withStyles(styles)(Row);\n\nconst NAME = 'row-config';\n\nexport const choiceSource = {\n canDrag() {\n return canDrag;\n },\n beginDrag(props) {\n return {\n id: props.row.id,\n index: props.idx,\n };\n },\n};\n\nconst StyledSource = DragSource(NAME, choiceSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(StyledRow);\n\nexport const choiceTarget = {\n hover() {\n log('[hover]');\n },\n drop(props, monitor) {\n const item = monitor.getItem();\n\n log('[drop] item: ', item, 'didDrop?', monitor.didDrop());\n\n props.onMoveRow(item.index, props.idx);\n },\n};\n\nconst StyledSourceAndTarget = DropTarget(NAME, choiceTarget, (connect) => ({\n connectDropTarget: connect.dropTarget(),\n}))(StyledSource);\n\nexport default StyledSourceAndTarget;\n"],"file":"row.js"}
|
package/configure/package.json
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"@material-ui/core": "^3.9.2",
|
|
11
11
|
"@material-ui/icons": "^3.0.1",
|
|
12
12
|
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
13
|
-
"@pie-lib/pie-toolbox": "1.4.
|
|
13
|
+
"@pie-lib/pie-toolbox": "1.4.7",
|
|
14
14
|
"classnames": "^2.2.5",
|
|
15
15
|
"debug": "^3.1.0",
|
|
16
16
|
"prop-types": "^15.6.2",
|
package/controller/package.json
CHANGED
package/lib/main.js
CHANGED
|
@@ -25,7 +25,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
25
25
|
|
|
26
26
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
27
|
|
|
28
|
-
var _correctAnswerToggle = require("@pie-lib/pie-toolbox/correct-answer-toggle");
|
|
28
|
+
var _correctAnswerToggle = _interopRequireDefault(require("@pie-lib/pie-toolbox/correct-answer-toggle"));
|
|
29
29
|
|
|
30
30
|
var _renderUi = require("@pie-lib/pie-toolbox/render-ui");
|
|
31
31
|
|
|
@@ -154,7 +154,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
154
154
|
className: classes.prompt
|
|
155
155
|
}, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
156
156
|
prompt: model.prompt
|
|
157
|
-
})), /*#__PURE__*/_react["default"].createElement(_correctAnswerToggle
|
|
157
|
+
})), /*#__PURE__*/_react["default"].createElement(_correctAnswerToggle["default"], {
|
|
158
158
|
language: language,
|
|
159
159
|
show: showCorrectAnswerToggle,
|
|
160
160
|
toggled: showCorrect,
|
package/lib/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/main.jsx"],"names":["Main","props","model","config","answers","rows","forEach","row","id","Array","layout","fill","nextProps","isRequired","choiceMode","length","session","Object","keys","onSessionChange","state","show","setState","showCorrect","newAnswers","callOnSessionChange","generateAnswers","regenAnswers","isAnswerRegenerationRequired","disabled","classes","correctness","language","showCorrectAnswerToggle","mainContainer","teacherInstructions","hidden","visible","collapsible","prompt","toggleShowCorrect","correctResponse","view","onAnswerChange","headers","rationale","feedback","React","Component","PropTypes","object","func","styles","theme","color","text","backgroundColor","background","main","width","verticalAlign","marginBottom","spacing","unit"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {CorrectAnswerToggle} from '@pie-lib/pie-toolbox/correct-answer-toggle';\nimport { color, Collapsible, Feedback, hasText, PreviewPrompt } from '@pie-lib/pie-toolbox/render-ui';\nimport AnswerGrid from './answer-grid';\nimport { withStyles } from '@material-ui/core/styles';\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n session: PropTypes.object.isRequired,\n onSessionChange: PropTypes.func,\n model: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n session: {\n ...props.session,\n answers: (props.session && props.session.answers) || this.generateAnswers(props.model),\n },\n showCorrect: false,\n };\n\n this.callOnSessionChange();\n }\n\n generateAnswers = (model) => {\n const { config } = model;\n const answers = {};\n\n config.rows.forEach((row) => {\n answers[row.id] = new Array(config.layout - 1).fill(false);\n });\n\n return answers;\n };\n\n isAnswerRegenerationRequired = (nextProps) => {\n let isRequired = false;\n\n if (this.props.model.config.choiceMode !== nextProps.model.config.choiceMode) {\n isRequired = true;\n }\n\n if (this.props.model.config.layout !== nextProps.model.config.layout) {\n isRequired = true;\n }\n\n if (\n this.props.model.config.rows.length !== nextProps.model.config.rows.length ||\n (nextProps.session.answers &&\n nextProps.model.config.rows.length !== Object.keys(nextProps.session.answers).length)\n ) {\n isRequired = true;\n }\n\n return isRequired || !nextProps.session.answers;\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const regenAnswers = this.isAnswerRegenerationRequired(nextProps);\n\n this.setState(\n (state) => ({\n session: {\n ...nextProps.session,\n // regenerate answers if layout or choiceMode change\n answers: regenAnswers ? this.generateAnswers(nextProps.model) : nextProps.session.answers,\n },\n showCorrect:\n this.props.model.disabled && !nextProps.model.disabled && state.showCorrect ? false : state.showCorrect,\n }),\n () => {\n if (regenAnswers) this.callOnSessionChange();\n },\n );\n }\n\n callOnSessionChange = () => {\n const { onSessionChange } = this.props;\n\n if (onSessionChange) {\n onSessionChange(this.state.session);\n }\n };\n\n toggleShowCorrect = (show) => {\n this.setState({ showCorrect: show });\n };\n\n onAnswerChange = (newAnswers) => {\n this.setState(\n (state) => ({\n session: {\n ...state.session,\n answers: newAnswers,\n },\n }),\n this.callOnSessionChange,\n );\n };\n\n render() {\n const { model, classes } = this.props;\n const { showCorrect, session } = this.state;\n const { correctness = {}, language } = model;\n const showCorrectAnswerToggle = correctness.correctness && correctness.correctness !== 'correct';\n\n return (\n <div className={classes.mainContainer}>\n {model.teacherInstructions && hasText(model.teacherInstructions) && (\n <Collapsible\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n className={classes.collapsible}\n >\n <PreviewPrompt prompt={model.teacherInstructions} />\n </Collapsible>\n )}\n\n {model.prompt && (\n <div className={classes.prompt}>\n <PreviewPrompt prompt={model.prompt} />\n </div>\n )}\n\n <CorrectAnswerToggle\n language={language}\n show={showCorrectAnswerToggle}\n toggled={showCorrect}\n onToggle={this.toggleShowCorrect}\n />\n\n <AnswerGrid\n showCorrect={showCorrect}\n correctAnswers={model.correctResponse}\n disabled={model.disabled}\n view={model.view}\n onAnswerChange={this.onAnswerChange}\n choiceMode={model.config.choiceMode}\n answers={showCorrect ? model.correctResponse : session.answers}\n headers={model.config.headers}\n rows={model.config.rows}\n />\n\n {model.rationale && hasText(model.rationale) && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }} className={classes.collapsible}>\n <PreviewPrompt prompt={model.rationale} />\n </Collapsible>\n )}\n\n {model.feedback && <Feedback correctness={model.correctness.correctness} feedback={model.feedback} />}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n },\n main: {\n width: '100%',\n },\n prompt: {\n verticalAlign: 'middle',\n },\n collapsible: {\n marginBottom: theme.spacing.unit * 2,\n },\n});\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
|
|
1
|
+
{"version":3,"sources":["../src/main.jsx"],"names":["Main","props","model","config","answers","rows","forEach","row","id","Array","layout","fill","nextProps","isRequired","choiceMode","length","session","Object","keys","onSessionChange","state","show","setState","showCorrect","newAnswers","callOnSessionChange","generateAnswers","regenAnswers","isAnswerRegenerationRequired","disabled","classes","correctness","language","showCorrectAnswerToggle","mainContainer","teacherInstructions","hidden","visible","collapsible","prompt","toggleShowCorrect","correctResponse","view","onAnswerChange","headers","rationale","feedback","React","Component","PropTypes","object","func","styles","theme","color","text","backgroundColor","background","main","width","verticalAlign","marginBottom","spacing","unit"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport CorrectAnswerToggle from '@pie-lib/pie-toolbox/correct-answer-toggle';\nimport { color, Collapsible, Feedback, hasText, PreviewPrompt } from '@pie-lib/pie-toolbox/render-ui';\nimport AnswerGrid from './answer-grid';\nimport { withStyles } from '@material-ui/core/styles';\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n session: PropTypes.object.isRequired,\n onSessionChange: PropTypes.func,\n model: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n session: {\n ...props.session,\n answers: (props.session && props.session.answers) || this.generateAnswers(props.model),\n },\n showCorrect: false,\n };\n\n this.callOnSessionChange();\n }\n\n generateAnswers = (model) => {\n const { config } = model;\n const answers = {};\n\n config.rows.forEach((row) => {\n answers[row.id] = new Array(config.layout - 1).fill(false);\n });\n\n return answers;\n };\n\n isAnswerRegenerationRequired = (nextProps) => {\n let isRequired = false;\n\n if (this.props.model.config.choiceMode !== nextProps.model.config.choiceMode) {\n isRequired = true;\n }\n\n if (this.props.model.config.layout !== nextProps.model.config.layout) {\n isRequired = true;\n }\n\n if (\n this.props.model.config.rows.length !== nextProps.model.config.rows.length ||\n (nextProps.session.answers &&\n nextProps.model.config.rows.length !== Object.keys(nextProps.session.answers).length)\n ) {\n isRequired = true;\n }\n\n return isRequired || !nextProps.session.answers;\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const regenAnswers = this.isAnswerRegenerationRequired(nextProps);\n\n this.setState(\n (state) => ({\n session: {\n ...nextProps.session,\n // regenerate answers if layout or choiceMode change\n answers: regenAnswers ? this.generateAnswers(nextProps.model) : nextProps.session.answers,\n },\n showCorrect:\n this.props.model.disabled && !nextProps.model.disabled && state.showCorrect ? false : state.showCorrect,\n }),\n () => {\n if (regenAnswers) this.callOnSessionChange();\n },\n );\n }\n\n callOnSessionChange = () => {\n const { onSessionChange } = this.props;\n\n if (onSessionChange) {\n onSessionChange(this.state.session);\n }\n };\n\n toggleShowCorrect = (show) => {\n this.setState({ showCorrect: show });\n };\n\n onAnswerChange = (newAnswers) => {\n this.setState(\n (state) => ({\n session: {\n ...state.session,\n answers: newAnswers,\n },\n }),\n this.callOnSessionChange,\n );\n };\n\n render() {\n const { model, classes } = this.props;\n const { showCorrect, session } = this.state;\n const { correctness = {}, language } = model;\n const showCorrectAnswerToggle = correctness.correctness && correctness.correctness !== 'correct';\n\n return (\n <div className={classes.mainContainer}>\n {model.teacherInstructions && hasText(model.teacherInstructions) && (\n <Collapsible\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n className={classes.collapsible}\n >\n <PreviewPrompt prompt={model.teacherInstructions} />\n </Collapsible>\n )}\n\n {model.prompt && (\n <div className={classes.prompt}>\n <PreviewPrompt prompt={model.prompt} />\n </div>\n )}\n\n <CorrectAnswerToggle\n language={language}\n show={showCorrectAnswerToggle}\n toggled={showCorrect}\n onToggle={this.toggleShowCorrect}\n />\n\n <AnswerGrid\n showCorrect={showCorrect}\n correctAnswers={model.correctResponse}\n disabled={model.disabled}\n view={model.view}\n onAnswerChange={this.onAnswerChange}\n choiceMode={model.config.choiceMode}\n answers={showCorrect ? model.correctResponse : session.answers}\n headers={model.config.headers}\n rows={model.config.rows}\n />\n\n {model.rationale && hasText(model.rationale) && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }} className={classes.collapsible}>\n <PreviewPrompt prompt={model.rationale} />\n </Collapsible>\n )}\n\n {model.feedback && <Feedback correctness={model.correctness.correctness} feedback={model.feedback} />}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n },\n main: {\n width: '100%',\n },\n prompt: {\n verticalAlign: 'middle',\n },\n collapsible: {\n marginBottom: theme.spacing.unit * 2,\n },\n});\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "6.1.2
|
|
7
|
+
"version": "6.1.2",
|
|
8
8
|
"main": "lib/index.js",
|
|
9
9
|
"description": "",
|
|
10
10
|
"scripts": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@material-ui/core": "^3.9.2",
|
|
16
16
|
"@pie-framework/pie-player-events": "^0.1.0",
|
|
17
|
-
"@pie-lib/pie-toolbox": "1.4.
|
|
17
|
+
"@pie-lib/pie-toolbox": "1.4.7",
|
|
18
18
|
"classnames": "^2.2.5",
|
|
19
19
|
"debug": "^4.1.1",
|
|
20
20
|
"lodash": "^4.17.10",
|
|
@@ -24,6 +24,6 @@
|
|
|
24
24
|
},
|
|
25
25
|
"author": "",
|
|
26
26
|
"license": "ISC",
|
|
27
|
-
"gitHead": "
|
|
27
|
+
"gitHead": "eb3cc5d6d16b67f7ccc1cf295a832f8dab4d679e",
|
|
28
28
|
"module": "src/index.js"
|
|
29
29
|
}
|