@pie-lib/rubric 1.0.0-beta.5 → 1.1.0-next.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"authoring.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_classnames","_OutlinedInput","_InputLabel","_Select","_FormControl","_MenuItem","_times","_Checkbox","_FormGroup","_FormControlLabel","_grey","_Typography","_DragIndicator","_editableHtml","_reactBeautifulDnd","_debug","_takeRight","_pointMenu","_range","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","log","debug","reorder","list","startIndex","endIndex","Array","from","_result$splice","splice","_result$splice2","_slicedToArray2","removed","RubricType","PropTypes","shape","excludeZero","bool","points","arrayOf","string","sampleAnswers","maxPoints","number","exports","MaxPoints","withStyles","theme","formControl","minWidth","margin","spacing","unit","props","value","onChange","max","classes","createElement","className","variant","width","htmlFor","input","labelWidth","range","map","v","concat","checkSampleAnswer","sampleAnswer","PointConfig","pointConfig","row","display","position","editor","backgroundColor","palette","common","white","dragIndicator","paddingTop","color","grey","pointsLabel","paddingBottom","textTransform","sampleAnswersEditor","paddingLeft","pointMenu","right","content","_props$mathMlOptions","mathMlOptions","showSampleAnswer","markup","icon","onMenuChange","onSampleChange","RawAuthoring","_React$Component","_inherits2","_super","_this","_classCallCheck2","_len","args","_key","_assertThisInitialized2","destination","_this$props","index","_this$props2","currentMax","times","takeRight","type","_this$props3","items","_this$props4","clickedItem","changeContent","_createClass2","render","_this2","_this$props5","_this$props5$mathMlOp","_ref","_ref$excludeZeroEnabl","excludeZeroEnabled","_ref$maxPointsEnabled","maxPointsEnabled","Number","isFinite","console","warn","classNames","rubricTitle","changeMaxPoints","label","control","checked","excludeZeros","container","DragDropContext","onDragEnd","dragEnd","Droppable","droppableId","provided","_extends2","droppableProps","ref","innerRef","p","shouldRenderPoint","Draggable","draggableId","toString","configHolder","draggableProps","dragHandleProps","onPointMenuChange","placeholder","React","Component","isRequired","func","styles","borderWidth","borderStyle","borderColor","padding","StyledRawAuthoring","Reverse","reverse","propTypes","getIndex","_default"],"sources":["../src/authoring.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Select from '@material-ui/core/Select';\nimport FormControl from '@material-ui/core/FormControl';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport times from 'lodash/times';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport FormGroup from '@material-ui/core/FormGroup';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport grey from '@material-ui/core/colors/grey';\nimport Typography from '@material-ui/core/Typography';\nimport DragIndicator from '@material-ui/icons/DragIndicator';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';\nimport debug from 'debug';\nimport takeRight from 'lodash/takeRight';\nimport PointMenu from './point-menu';\n\nimport range from 'lodash/range';\nconst log = debug('pie-lib:rubric:authoring');\n\nconst reorder = (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n\n result.splice(endIndex, 0, removed);\n\n return result;\n};\n\nexport const RubricType = PropTypes.shape({\n excludeZero: PropTypes.bool,\n points: PropTypes.arrayOf(PropTypes.string),\n sampleAnswers: PropTypes.arrayOf(PropTypes.string),\n maxPoints: PropTypes.number,\n});\n\nconst MaxPoints = withStyles((theme) => ({\n formControl: {\n minWidth: '120px',\n margin: theme.spacing.unit,\n },\n}))((props) => {\n const { value, onChange, max, classes } = props;\n\n return (\n <FormControl className={classes.formControl} variant=\"outlined\">\n <InputLabel width={100} htmlFor=\"...\">\n Max Points\n </InputLabel>\n <Select value={value} onChange={(e) => onChange(e.target.value)} input={<OutlinedInput labelWidth={80} />}>\n {range(1, max).map((v) => (\n <MenuItem key={`${v}`} value={v}>\n {v}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n );\n});\n\n// if the value is null or 'null', the Sample Answer input field for that point will not be dispalyed\n// if the value is '', the Sample Answer input field will be empty\nconst checkSampleAnswer = (sampleAnswer) => sampleAnswer === null || sampleAnswer === 'null';\n\nexport const PointConfig = withStyles((theme) => ({\n pointConfig: {},\n row: {\n display: 'flex',\n width: '100%',\n position: 'relative',\n },\n editor: {\n width: '100%',\n backgroundColor: `${theme.palette.common.white} !important`,\n },\n dragIndicator: {\n paddingTop: theme.spacing.unit,\n color: grey[500],\n },\n pointsLabel: {\n color: grey[500],\n paddingBottom: theme.spacing.unit,\n textTransform: 'uppercase',\n },\n sampleAnswersEditor: {\n paddingLeft: theme.spacing.unit * 3,\n },\n pointMenu: {\n position: 'absolute',\n right: 0,\n },\n}))((props) => {\n const { points, content, classes, sampleAnswer, mathMlOptions = {} } = props;\n const pointsLabel = `${points} ${points <= 1 ? 'pt' : 'pts'}`;\n const showSampleAnswer = checkSampleAnswer(sampleAnswer);\n\n return (\n <div className={classes.pointConfig}>\n <Typography variant=\"overline\" className={classes.pointsLabel}>\n {pointsLabel}\n </Typography>\n\n <div className={classes.row}>\n <DragIndicator className={classes.dragIndicator} />\n <EditableHtml\n className={classes.editor}\n markup={content}\n onChange={props.onChange}\n mathMlOptions={mathMlOptions}\n />\n <PointMenu\n classes={{\n icon: classes.pointMenu,\n }}\n showSampleAnswer={showSampleAnswer}\n onChange={props.onMenuChange}\n />\n </div>\n\n {!showSampleAnswer && (\n <div className={classes.sampleAnswersEditor}>\n <Typography variant=\"overline\" className={classes.dragIndicator}>\n Sample Response\n </Typography>\n <EditableHtml\n className={classes.editor}\n markup={sampleAnswer}\n onChange={props.onSampleChange}\n mathMlOptions={mathMlOptions}\n />\n </div>\n )}\n </div>\n );\n});\n\nexport class RawAuthoring extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n value: RubricType,\n onChange: PropTypes.func,\n };\n\n static defaultProps = {};\n\n dragEnd = (result) => {\n if (!result.destination) {\n return;\n }\n\n const { value, onChange } = this.props;\n\n const points = reorder(value.points, result.source.index, result.destination.index);\n const sampleAnswers = reorder(value.sampleAnswers, result.source.index, result.destination.index);\n\n onChange({ ...value, points, sampleAnswers });\n };\n\n changeMaxPoints = (maxPoints) => {\n const { value, onChange } = this.props;\n const currentMax = value.points.length - 1;\n\n log('current', currentMax, 'new: ', maxPoints);\n\n let points, sampleAnswers;\n if (maxPoints > currentMax) {\n points = times(maxPoints - currentMax)\n .map(() => '')\n .concat(value.points);\n sampleAnswers = times(maxPoints - currentMax)\n .map(() => null)\n .concat(value.sampleAnswers);\n }\n\n if (maxPoints < currentMax) {\n log('less than');\n points = takeRight(value.points, maxPoints + 1);\n sampleAnswers = takeRight(value.sampleAnswers, maxPoints + 1);\n }\n\n if (points) {\n onChange({ ...value, points, sampleAnswers });\n }\n };\n\n changeContent = (index, content, type) => {\n // type could be 'points' or 'sampleAnswers'\n log(`changeModel[${type}]:`, index, content);\n\n if (type !== 'points' && type !== 'sampleAnswers') {\n return;\n }\n\n const { value, onChange } = this.props;\n const items = value[type] && Array.from(value[type]);\n\n items.splice(index, 1, content);\n log(`changeModel[${type}]:`, items);\n\n onChange({ ...value, [type]: items });\n };\n\n excludeZeros = () => {\n const { value, onChange } = this.props;\n\n onChange({ ...value, excludeZero: !value.excludeZero });\n };\n\n shouldRenderPoint = (index, value) => {\n if (!value.excludeZero) {\n return true;\n } else {\n if (index < value.points.length - 1) {\n return true;\n } else if (index === value.points.length - 1) {\n return false;\n }\n\n return true;\n }\n };\n\n onPointMenuChange = (index, clickedItem) => {\n if (clickedItem === 'sample') {\n const { value } = this.props;\n const sampleAnswers = Array.from(value.sampleAnswers || []);\n\n if (checkSampleAnswer(sampleAnswers[index])) {\n // an empty string will display an empty Sample Answer input field\n this.changeContent(index, '', 'sampleAnswers');\n } else {\n // when the content is null or 'null', the Sample Answer input field will not be displayed\n this.changeContent(index, null, 'sampleAnswers');\n }\n }\n };\n\n render() {\n const { classes, className, value, mathMlOptions = {} } = this.props;\n let { excludeZeroEnabled = true, maxPointsEnabled = true } = value || {};\n\n if (value && Number.isFinite(value.maxPoints)) {\n // eslint-disable-next-line no-console\n console.warn('maxPoints is deprecated - remove from model');\n }\n\n return (\n <div className={classNames(classes.class, className)}>\n <Typography variant=\"h5\" className={classes.rubricTitle}>\n Rubric\n </Typography>\n <FormGroup row>\n {maxPointsEnabled && <MaxPoints max={10} value={value.points.length - 1} onChange={this.changeMaxPoints} />}\n {excludeZeroEnabled && (\n <FormControlLabel\n label=\"Exclude zeros\"\n control={<Checkbox checked={value.excludeZero} onChange={this.excludeZeros} />}\n />\n )}\n </FormGroup>\n\n <div className={classes.container}>\n <DragDropContext onDragEnd={this.dragEnd}>\n <Droppable droppableId=\"droppable\">\n {(provided) => (\n <div {...provided.droppableProps} ref={provided.innerRef}>\n {value.points.map(\n (p, index) =>\n this.shouldRenderPoint(index, value) && (\n <Draggable key={`${p.points}-${index}`} index={index} draggableId={index.toString()}>\n {(provided) => (\n <div\n className={classes.configHolder}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n >\n <PointConfig\n points={value.points.length - 1 - index}\n content={p}\n sampleAnswer={value.sampleAnswers && value.sampleAnswers[index]}\n onChange={(content) => this.changeContent(index, content, 'points')}\n onSampleChange={(content) => this.changeContent(index, content, 'sampleAnswers')}\n onMenuChange={(clickedItem) => this.onPointMenuChange(index, clickedItem)}\n mathMlOptions={mathMlOptions}\n />\n </div>\n )}\n </Draggable>\n ),\n )}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n </div>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n container: {\n backgroundColor: grey[200],\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: grey[300],\n padding: theme.spacing.unit * 2,\n margin: theme.spacing.unit,\n },\n configHolder: {\n paddingTop: theme.spacing.unit,\n paddingBottom: theme.spacing.unit,\n },\n rubricTitle: {\n paddingLeft: theme.spacing.unit,\n margin: theme.spacing.unit,\n },\n});\n\nconst StyledRawAuthoring = withStyles(styles)(RawAuthoring);\n\nconst Reverse = (props) => {\n const points = Array.from(props.value.points || []).reverse();\n let sampleAnswers = Array.from(props.value.sampleAnswers || []).reverse();\n\n if (points.length > sampleAnswers.length) {\n sampleAnswers = times(points.length - sampleAnswers.length)\n .map(() => null)\n .concat(sampleAnswers);\n }\n\n const value = { ...props.value, points, sampleAnswers };\n\n const onChange = (value) => {\n props.onChange({\n ...value,\n points: Array.from(value.points || []).reverse(),\n sampleAnswers: Array.from(value.sampleAnswers || []).reverse(),\n });\n };\n\n return <StyledRawAuthoring value={value} onChange={onChange} />;\n};\n\nReverse.propTypes = {\n value: RubricType,\n getIndex: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default Reverse;\n"],"mappings":"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"}
1
+ {"version":3,"file":"authoring.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_InputLabel","_OutlinedInput","_Select","_FormControl","_MenuItem","_times","_Checkbox","_FormGroup","_FormControlLabel","_Typography","_DragIndicator","_dnd","_debug","_takeRight","_pointMenu","_range","_editableHtmlTipTap","_configUi","_colors","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","log","debug","reorder","list","startIndex","endIndex","result","Array","from","_result$splice","splice","_result$splice2","_slicedToArray2","removed","RubricType","exports","PropTypes","shape","excludeZero","bool","points","arrayOf","string","sampleAnswers","maxPoints","number","rubriclessInstruction","MaxPoints","props","value","onChange","max","labelId","createElement","sx","minWidth","m","variant","id","label","target","input","MenuProps","transitionDuration","enter","exit","range","map","v","key","concat","checkSampleAnswer","sampleAnswer","Row","styled","display","width","position","EditorDiv","_ref","theme","backgroundColor","palette","common","white","DragIndicatorStyled","DragIndicator","_ref2","paddingTop","spacing","color","grey","PointsLabel","Typography","_ref3","paddingBottom","textTransform","SampleAnswersEditor","_ref4","paddingLeft","ErrorText","_ref5","fontSize","typography","error","main","PointMenuWrapper","right","PointConfig","content","_props$mathMlOptions","mathMlOptions","_props$pluginOpts","pluginOpts","pointsLabel","showSampleAnswer","pluginProps","markup","onMenuChange","as","onSampleChange","Container","_ref6","borderWidth","borderStyle","borderColor","padding","margin","InputContainerWrapper","_ref7","marginBottom","Rubricless","ConfigHolder","_ref8","RubricTitle","_ref9","RawAuthoring","_React$Component","_this","_classCallCheck2","_len","args","_key","destination","_this$props","source","index","_this$props2","_this$props3","rubricless","currentMax","times","takeRight","type","_this$props4","items","_this$props5","clickedItem","changeContent","_inherits2","_createClass2","render","_this2","_this$props6","_this$props6$mathMlOp","_this$props6$config","config","_this$props6$rubricle","_this$props6$pluginOp","_ref0","_ref0$excludeZeroEnab","excludeZeroEnabled","_ref0$maxPointsEnable","maxPointsEnabled","_ref0$errors","errors","_ref0$rubriclessInstr","rubriclessInstructionEnabled","_ref0$maxPoints","_ref1","_ref1$rubriclessInstr","_ref1$maxMaxPoints","maxMaxPoints","_ref10","pointsDescriptorsErrors","Number","isFinite","console","warn","maxPointsValue","row","changeMaxPoints","control","checked","excludeZeros","InputContainer","changeRubriclessInstruction","nonEmpty","disableUnderline","languageCharactersProps","language","DragDropContext","onDragEnd","dragEnd","Droppable","droppableId","provided","_extends2","droppableProps","ref","innerRef","p","shouldRenderPoint","Draggable","draggableId","toString","draggableProps","dragHandleProps","onPointMenuChange","placeholder","React","Component","object","func","Reverse","_ref11","_ref11$rubricless","_ref11$config","_ref11$pluginOpts","reverse","propTypes","getIndex","_default"],"sources":["../src/authoring.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport OutlinedInput from '@mui/material/OutlinedInput';\nimport Select from '@mui/material/Select';\nimport FormControl from '@mui/material/FormControl';\nimport MenuItem from '@mui/material/MenuItem';\nimport times from 'lodash/times';\nimport Checkbox from '@mui/material/Checkbox';\nimport FormGroup from '@mui/material/FormGroup';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Typography from '@mui/material/Typography';\nimport DragIndicator from '@mui/icons-material/DragIndicator';\nimport { DragDropContext, Droppable, Draggable } from '@hello-pangea/dnd';\nimport debug from 'debug';\nimport takeRight from 'lodash/takeRight';\nimport PointMenu from './point-menu';\nimport range from 'lodash/range';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { InputContainer } from '@pie-lib/config-ui';\nimport { grey } from '@mui/material/colors';\n\nconst log = debug('pie-lib:rubric:authoring');\n\nconst reorder = (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n\n result.splice(endIndex, 0, removed);\n\n return result;\n};\n\nexport const RubricType = PropTypes.shape({\n excludeZero: PropTypes.bool,\n points: PropTypes.arrayOf(PropTypes.string),\n sampleAnswers: PropTypes.arrayOf(PropTypes.string),\n maxPoints: PropTypes.number,\n rubriclessInstruction: PropTypes.string,\n});\n\nconst MaxPoints = (props) => {\n const { value, onChange, max } = props;\n const labelId = 'max-points-label';\n\n return (\n <FormControl sx={{ minWidth: 120, m: 1 }} variant=\"outlined\">\n <InputLabel id={labelId}>Max Points</InputLabel>\n <Select\n labelId={labelId}\n label=\"Max Points\"\n value={value}\n onChange={(e) => onChange(e.target.value)}\n input={<OutlinedInput label=\"Max Points\" />}\n MenuProps={{ transitionDuration: { enter: 225, exit: 195 } }}\n >\n {range(1, max + 1).map((v) => (\n <MenuItem key={`${v}`} value={v}>\n {v}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n );\n};\n\n// if the value is null or 'null', the Sample Answer input field for that point will not be dispalyed\n// if the value is '', the Sample Answer input field will be empty\nconst checkSampleAnswer = (sampleAnswer) => sampleAnswer === null || sampleAnswer === 'null';\n\nconst Row = styled('div')(() => ({ display: 'flex', width: '100%', position: 'relative' }));\n\nconst EditorDiv = styled('div')(({ theme }) => ({ width: '100%', backgroundColor: `${theme.palette.common.white}` }));\n\nconst DragIndicatorStyled = styled(DragIndicator)(({ theme }) => ({ paddingTop: theme.spacing(1), color: grey[500] }));\n\nconst PointsLabel = styled(Typography)(({ theme }) => ({\n color: grey[500],\n paddingBottom: theme.spacing(1),\n textTransform: 'uppercase',\n}));\n\nconst SampleAnswersEditor = styled('div')(({ theme }) => ({ paddingLeft: theme.spacing(3) }));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingLeft: theme.spacing(3),\n paddingTop: theme.spacing(1),\n}));\n\nconst PointMenuWrapper = styled('div')(() => ({ position: 'absolute', right: 0 }));\n\nexport const PointConfig = (props) => {\n const { points, content, sampleAnswer, mathMlOptions = {}, error, pluginOpts = {} } = props;\n const pointsLabel = `${points} ${points <= 1 ? 'pt' : 'pts'}`;\n const showSampleAnswer = checkSampleAnswer(sampleAnswer);\n\n return (\n <div>\n <PointsLabel variant=\"overline\">{pointsLabel}</PointsLabel>\n <Row>\n <DragIndicatorStyled />\n <EditorDiv>\n <EditableHtml\n error={error}\n pluginProps={pluginOpts}\n markup={content}\n onChange={props.onChange}\n mathMlOptions={mathMlOptions}\n />\n </EditorDiv>\n <PointMenuWrapper>\n <PointMenu showSampleAnswer={showSampleAnswer} onChange={props.onMenuChange} />\n </PointMenuWrapper>\n </Row>\n {error && <ErrorText>{error}</ErrorText>}\n {!showSampleAnswer && (\n <SampleAnswersEditor>\n <DragIndicatorStyled as={Typography} variant=\"overline\">\n Sample Response\n </DragIndicatorStyled>\n <EditorDiv>\n <EditableHtml\n markup={sampleAnswer}\n pluginProps={pluginOpts}\n onChange={props.onSampleChange}\n mathMlOptions={mathMlOptions}\n />\n </EditorDiv>\n </SampleAnswersEditor>\n )}\n </div>\n );\n};\n\nconst Container = styled('div')(({ theme }) => ({\n backgroundColor: grey[200],\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: grey[300],\n padding: theme.spacing(2),\n margin: theme.spacing(1),\n}));\nconst InputContainerWrapper = styled('div')(({ theme }) => ({\n width: '100%',\n paddingTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n '& MuiFormControl-root': { width: '100%' },\n}));\nconst Rubricless = styled('div')(() => ({ display: 'none' }));\nconst ConfigHolder = styled('div')(({ theme }) => ({ paddingTop: theme.spacing(1), paddingBottom: theme.spacing(1) }));\nconst RubricTitle = styled(Typography)(({ theme }) => ({ paddingLeft: theme.spacing(1), margin: theme.spacing(1) }));\n\nexport class RawAuthoring extends React.Component {\n static propTypes = {\n value: RubricType,\n config: PropTypes.object,\n pluginOpts: PropTypes.object,\n rubricless: PropTypes.bool,\n onChange: PropTypes.func,\n };\n\n static defaultProps = {};\n\n dragEnd = (result) => {\n if (!result.destination) {\n return;\n }\n\n const { value, onChange } = this.props;\n\n const points = reorder(value.points, result.source.index, result.destination.index);\n const sampleAnswers = reorder(value.sampleAnswers, result.source.index, result.destination.index);\n\n onChange({ ...value, points, sampleAnswers });\n };\n\n changeRubriclessInstruction = (input) => {\n const { value, onChange } = this.props;\n onChange({ ...value, rubriclessInstruction: input });\n };\n\n changeMaxPoints = (maxPoints) => {\n const { value, onChange, rubricless } = this.props;\n const currentMax = value.points.length - 1;\n\n log('current', currentMax, 'new: ', maxPoints);\n\n let points, sampleAnswers;\n if (maxPoints > currentMax) {\n points = times(maxPoints - currentMax)\n .map(() => '')\n .concat(value.points);\n sampleAnswers = times(maxPoints - currentMax)\n .map(() => null)\n .concat(value.sampleAnswers);\n }\n\n if (maxPoints < currentMax) {\n log('less than');\n points = takeRight(value.points, maxPoints + 1);\n sampleAnswers = takeRight(value.sampleAnswers, maxPoints + 1);\n }\n\n if (points && !rubricless) {\n onChange({ ...value, points, sampleAnswers, maxPoints });\n } else {\n onChange({ ...value, maxPoints });\n }\n };\n\n changeContent = (index, content, type) => {\n // type could be 'points' or 'sampleAnswers'\n log(`changeModel[${type}]:`, index, content);\n\n if (type !== 'points' && type !== 'sampleAnswers') {\n return;\n }\n\n const { value, onChange } = this.props;\n const items = value[type] && Array.from(value[type]);\n\n items.splice(index, 1, content);\n log(`changeModel[${type}]:`, items);\n\n onChange({ ...value, [type]: items });\n };\n\n excludeZeros = () => {\n const { value, onChange } = this.props;\n\n onChange({ ...value, excludeZero: !value.excludeZero });\n };\n\n shouldRenderPoint = (index, value) => {\n if (!value.excludeZero) {\n return true;\n } else {\n if (index < value.points.length - 1) {\n return true;\n } else if (index === value.points.length - 1) {\n return false;\n }\n\n return true;\n }\n };\n\n onPointMenuChange = (index, clickedItem) => {\n if (clickedItem === 'sample') {\n const { value } = this.props;\n const sampleAnswers = Array.from(value.sampleAnswers || []);\n\n if (checkSampleAnswer(sampleAnswers[index])) {\n // an empty string will display an empty Sample Answer input field\n this.changeContent(index, '', 'sampleAnswers');\n } else {\n // when the content is null or 'null', the Sample Answer input field will not be displayed\n this.changeContent(index, null, 'sampleAnswers');\n }\n }\n };\n\n render() {\n const { value, mathMlOptions = {}, config = {}, rubricless = false, pluginOpts = {} } = this.props;\n let {\n excludeZeroEnabled = true,\n maxPointsEnabled = true,\n errors = {},\n rubriclessInstructionEnabled = false,\n maxPoints = 10,\n } = value || {};\n // rubric will contain a max value for maxPoints\n const { rubriclessInstruction = {}, maxMaxPoints = 10 } = config || {};\n const { pointsDescriptorsErrors } = errors || {};\n if (value && Number.isFinite(value.maxPoints)) {\n // eslint-disable-next-line no-console\n console.warn('maxPoints is deprecated - remove from model');\n }\n\n // for rubric value is computed based on points\n const maxPointsValue = !rubricless ? value.points.length - 1 : maxPoints;\n\n return (\n <div>\n <RubricTitle variant=\"h5\">Rubric</RubricTitle>\n <FormGroup row>\n {maxPointsEnabled && (\n <MaxPoints\n max={maxMaxPoints < 100 ? maxMaxPoints : 100}\n value={maxPointsValue}\n onChange={this.changeMaxPoints}\n pluginOpts={pluginOpts}\n />\n )}\n {excludeZeroEnabled && (\n <FormControlLabel\n label=\"Exclude zeros\"\n control={<Checkbox checked={value.excludeZero} onChange={this.excludeZeros} />}\n />\n )}\n </FormGroup>\n\n {rubriclessInstructionEnabled && rubricless && (\n <InputContainerWrapper>\n <InputContainer label={rubriclessInstruction.label}>\n <EditableHtml\n markup={value.rubriclessInstruction || ''}\n onChange={this.changeRubriclessInstruction}\n pluginProps={pluginOpts}\n nonEmpty={false}\n disableUnderline\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n </InputContainerWrapper>\n )}\n\n <div>\n {rubricless ? (\n <Rubricless />\n ) : (\n <Container>\n <DragDropContext onDragEnd={this.dragEnd}>\n <Droppable droppableId=\"droppable\">\n {(provided) => (\n <div {...provided.droppableProps} ref={provided.innerRef}>\n {value.points.map(\n (p, index) =>\n this.shouldRenderPoint(index, value) && (\n <Draggable key={`${p.points}-${index}`} index={index} draggableId={index.toString()}>\n {(provided) => (\n <ConfigHolder\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n >\n <PointConfig\n points={value.points.length - 1 - index}\n content={p}\n error={\n pointsDescriptorsErrors &&\n pointsDescriptorsErrors[value.points.length - 1 - index]\n }\n sampleAnswer={value.sampleAnswers && value.sampleAnswers[index]}\n onChange={(content) => this.changeContent(index, content, 'points')}\n onSampleChange={(content) => this.changeContent(index, content, 'sampleAnswers')}\n onMenuChange={(clickedItem) => this.onPointMenuChange(index, clickedItem)}\n mathMlOptions={mathMlOptions}\n pluginOpts={pluginOpts}\n />\n </ConfigHolder>\n )}\n </Draggable>\n ),\n )}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n </Container>\n )}\n </div>\n </div>\n );\n }\n}\n\n// styles migrated to styled-components above\n\nconst Reverse = (props) => {\n const { rubricless = false, config = {}, pluginOpts = {} } = props || {};\n const points = Array.from(props.value.points || []).reverse();\n let sampleAnswers = Array.from(props.value.sampleAnswers || []).reverse();\n\n if (points.length > sampleAnswers.length) {\n sampleAnswers = times(points.length - sampleAnswers.length)\n .map(() => null)\n .concat(sampleAnswers);\n }\n\n const value = { ...props.value, points, sampleAnswers };\n\n const onChange = (value) => {\n props.onChange({\n ...value,\n points: Array.from(value.points || []).reverse(),\n sampleAnswers: Array.from(value.sampleAnswers || []).reverse(),\n });\n };\n\n return (\n <RawAuthoring value={value} config={config} onChange={onChange} rubricless={rubricless} pluginOpts={pluginOpts} />\n );\n};\n\nReverse.propTypes = {\n value: RubricType,\n config: PropTypes.object,\n pluginOpts: PropTypes.object,\n rubricless: PropTypes.bool,\n getIndex: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default Reverse;\n"],"mappings":"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","ignoreList":[]}
package/lib/index.js CHANGED
@@ -12,9 +12,9 @@ Object.defineProperty(exports, "Authoring", {
12
12
  });
13
13
  exports.RUBRIC_TYPES = void 0;
14
14
  var _authoring = _interopRequireDefault(require("./authoring"));
15
- var RUBRIC_TYPES = {
15
+ var RUBRIC_TYPES = exports.RUBRIC_TYPES = {
16
16
  SIMPLE_RUBRIC: 'simpleRubric',
17
- MULTI_TRAIT_RUBRIC: 'multiTraitRubric'
17
+ MULTI_TRAIT_RUBRIC: 'multiTraitRubric',
18
+ RUBRICLESS: 'rubricless'
18
19
  };
19
- exports.RUBRIC_TYPES = RUBRIC_TYPES;
20
- //# sourceMappingURL=index.js.map
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXV0aG9yaW5nIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJSVUJSSUNfVFlQRVMiLCJleHBvcnRzIiwiU0lNUExFX1JVQlJJQyIsIk1VTFRJX1RSQUlUX1JVQlJJQyIsIlJVQlJJQ0xFU1MiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEF1dGhvcmluZyBmcm9tICcuL2F1dGhvcmluZyc7XG5cbmNvbnN0IFJVQlJJQ19UWVBFUyA9IHtcbiAgU0lNUExFX1JVQlJJQzogJ3NpbXBsZVJ1YnJpYycsXG4gIE1VTFRJX1RSQUlUX1JVQlJJQzogJ211bHRpVHJhaXRSdWJyaWMnLFxuICBSVUJSSUNMRVNTOiAncnVicmljbGVzcycsXG59O1xuXG5leHBvcnQgeyBBdXRob3JpbmcsIFJVQlJJQ19UWVBFUyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBTUMsWUFBWSxHQUFBQyxPQUFBLENBQUFELFlBQUEsR0FBRztFQUNuQkUsYUFBYSxFQUFFLGNBQWM7RUFDN0JDLGtCQUFrQixFQUFFLGtCQUFrQjtFQUN0Q0MsVUFBVSxFQUFFO0FBQ2QsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_authoring","_interopRequireDefault","require","RUBRIC_TYPES","SIMPLE_RUBRIC","MULTI_TRAIT_RUBRIC","exports"],"sources":["../src/index.js"],"sourcesContent":["import Authoring from './authoring';\n\nconst RUBRIC_TYPES = {\n SIMPLE_RUBRIC: 'simpleRubric',\n MULTI_TRAIT_RUBRIC: 'multiTraitRubric',\n};\n\nexport { Authoring, RUBRIC_TYPES };\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAMC,YAAY,GAAG;EACnBC,aAAa,EAAE,cAAc;EAC7BC,kBAAkB,EAAE;AACtB,CAAC;AAACC,OAAA,CAAAH,YAAA,GAAAA,YAAA"}
1
+ {"version":3,"file":"index.js","names":["_authoring","_interopRequireDefault","require","RUBRIC_TYPES","exports","SIMPLE_RUBRIC","MULTI_TRAIT_RUBRIC","RUBRICLESS"],"sources":["../src/index.js"],"sourcesContent":["import Authoring from './authoring';\n\nconst RUBRIC_TYPES = {\n SIMPLE_RUBRIC: 'simpleRubric',\n MULTI_TRAIT_RUBRIC: 'multiTraitRubric',\n RUBRICLESS: 'rubricless',\n};\n\nexport { Authoring, RUBRIC_TYPES };\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EACnBE,aAAa,EAAE,cAAc;EAC7BC,kBAAkB,EAAE,kBAAkB;EACtCC,UAAU,EAAE;AACd,CAAC","ignoreList":[]}
package/lib/point-menu.js CHANGED
@@ -7,34 +7,31 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports["default"] = exports.IconMenu = void 0;
8
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
11
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
10
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
11
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
- var _Menu = _interopRequireDefault(require("@material-ui/core/Menu"));
16
- var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
17
- var _MoreVert = _interopRequireDefault(require("@material-ui/icons/MoreVert"));
18
- var _MoreHoriz = _interopRequireDefault(require("@material-ui/icons/MoreHoriz"));
19
- var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
14
+ var _Menu = _interopRequireDefault(require("@mui/material/Menu"));
15
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
16
+ var _MoreVert = _interopRequireDefault(require("@mui/icons-material/MoreVert"));
17
+ var _MoreHoriz = _interopRequireDefault(require("@mui/icons-material/MoreHoriz"));
18
+ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
20
19
  var _propTypes = _interopRequireDefault(require("prop-types"));
21
20
  var _react = _interopRequireDefault(require("react"));
22
- 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); }; }
23
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
24
- var IconMenu = /*#__PURE__*/function (_React$Component) {
25
- (0, _inherits2["default"])(IconMenu, _React$Component);
26
- var _super = _createSuper(IconMenu);
21
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
22
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
23
+ var IconMenu = exports.IconMenu = /*#__PURE__*/function (_React$Component) {
27
24
  function IconMenu(props) {
28
25
  var _this;
29
26
  (0, _classCallCheck2["default"])(this, IconMenu);
30
- _this = _super.call(this, props);
31
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClick", function (event) {
27
+ _this = _callSuper(this, IconMenu, [props]);
28
+ (0, _defineProperty2["default"])(_this, "handleClick", function (event) {
32
29
  return _this.setState({
33
30
  open: true,
34
31
  anchorEl: event.currentTarget
35
32
  });
36
33
  });
37
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleRequestClose", function () {
34
+ (0, _defineProperty2["default"])(_this, "handleRequestClose", function () {
38
35
  return _this.setState({
39
36
  open: false
40
37
  });
@@ -45,14 +42,14 @@ var IconMenu = /*#__PURE__*/function (_React$Component) {
45
42
  };
46
43
  return _this;
47
44
  }
48
- (0, _createClass2["default"])(IconMenu, [{
45
+ (0, _inherits2["default"])(IconMenu, _React$Component);
46
+ return (0, _createClass2["default"])(IconMenu, [{
49
47
  key: "render",
50
48
  value: function render() {
51
49
  var _this2 = this;
52
50
  var _this$props = this.props,
53
51
  opts = _this$props.opts,
54
- onClick = _this$props.onClick,
55
- classes = _this$props.classes;
52
+ onClick = _this$props.onClick;
56
53
  var _this$state = this.state,
57
54
  open = _this$state.open,
58
55
  anchorEl = _this$state.anchorEl;
@@ -67,7 +64,7 @@ var IconMenu = /*#__PURE__*/function (_React$Component) {
67
64
  return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
68
65
  onClick: this.handleClick
69
66
  }, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
70
- className: classes.icon
67
+ size: "large"
71
68
  }, open ? /*#__PURE__*/_react["default"].createElement(_MoreVert["default"], {
72
69
  color: iconColor
73
70
  }) : /*#__PURE__*/_react["default"].createElement(_MoreHoriz["default"], {
@@ -92,27 +89,22 @@ var IconMenu = /*#__PURE__*/function (_React$Component) {
92
89
  })));
93
90
  }
94
91
  }]);
95
- return IconMenu;
96
92
  }(_react["default"].Component);
97
- exports.IconMenu = IconMenu;
98
93
  (0, _defineProperty2["default"])(IconMenu, "propTypes", {
99
94
  opts: _propTypes["default"].object,
100
- onClick: _propTypes["default"].func.isRequired,
101
- classes: _propTypes["default"].object.isRequired
95
+ onClick: _propTypes["default"].func.isRequired
102
96
  });
103
- var PointMenu = /*#__PURE__*/function (_React$Component2) {
104
- (0, _inherits2["default"])(PointMenu, _React$Component2);
105
- var _super2 = _createSuper(PointMenu);
97
+ var PointMenu = exports["default"] = /*#__PURE__*/function (_React$Component2) {
106
98
  function PointMenu() {
107
99
  (0, _classCallCheck2["default"])(this, PointMenu);
108
- return _super2.apply(this, arguments);
100
+ return _callSuper(this, PointMenu, arguments);
109
101
  }
110
- (0, _createClass2["default"])(PointMenu, [{
102
+ (0, _inherits2["default"])(PointMenu, _React$Component2);
103
+ return (0, _createClass2["default"])(PointMenu, [{
111
104
  key: "render",
112
105
  value: function render() {
113
106
  var _this$props2 = this.props,
114
107
  onChange = _this$props2.onChange,
115
- classes = _this$props2.classes,
116
108
  showSampleAnswer = _this$props2.showSampleAnswer;
117
109
  var sampleText = showSampleAnswer ? 'Provide Sample Response' : 'Remove Sample Response';
118
110
  return /*#__PURE__*/_react["default"].createElement(IconMenu, {
@@ -121,20 +113,13 @@ var PointMenu = /*#__PURE__*/function (_React$Component2) {
121
113
  },
122
114
  opts: {
123
115
  sample: sampleText
124
- },
125
- classes: classes
116
+ }
126
117
  });
127
118
  }
128
119
  }]);
129
- return PointMenu;
130
120
  }(_react["default"].Component);
131
- exports["default"] = PointMenu;
132
121
  (0, _defineProperty2["default"])(PointMenu, "propTypes", {
133
122
  onChange: _propTypes["default"].func.isRequired,
134
- classes: _propTypes["default"].object.isRequired,
135
123
  showSampleAnswer: _propTypes["default"].bool.isRequired
136
124
  });
137
- (0, _defineProperty2["default"])(PointMenu, "defaultProps", {
138
- classes: {}
139
- });
140
- //# sourceMappingURL=point-menu.js.map
125
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfTWVudSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX01lbnVJdGVtIiwiX01vcmVWZXJ0IiwiX01vcmVIb3JpeiIsIl9JY29uQnV0dG9uIiwiX3Byb3BUeXBlcyIsIl9yZWFjdCIsIl9jYWxsU3VwZXIiLCJ0IiwibyIsImUiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsImFwcGx5IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJjYWxsIiwiSWNvbk1lbnUiLCJleHBvcnRzIiwiX1JlYWN0JENvbXBvbmVudCIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2RlZmluZVByb3BlcnR5MiIsImV2ZW50Iiwic2V0U3RhdGUiLCJvcGVuIiwiYW5jaG9yRWwiLCJjdXJyZW50VGFyZ2V0Iiwic3RhdGUiLCJ1bmRlZmluZWQiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwicmVuZGVyIiwiX3RoaXMyIiwiX3RoaXMkcHJvcHMiLCJvcHRzIiwib25DbGljayIsIl90aGlzJHN0YXRlIiwia2V5cyIsIk9iamVjdCIsImhhbmRsZU1lbnVDbGljayIsImhhbmRsZVJlcXVlc3RDbG9zZSIsImljb25Db2xvciIsImNyZWF0ZUVsZW1lbnQiLCJoYW5kbGVDbGljayIsInNpemUiLCJjb2xvciIsImlkIiwib25DbG9zZSIsInN0eWxlIiwidHJhbnNmb3JtIiwidHJhbnNmb3JtT3JpZ2luIiwidmVydGljYWwiLCJob3Jpem9udGFsIiwibWFwIiwiayIsImluZGV4IiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJmdW5jIiwiaXNSZXF1aXJlZCIsIlBvaW50TWVudSIsIl9SZWFjdCRDb21wb25lbnQyIiwiYXJndW1lbnRzIiwiX3RoaXMkcHJvcHMyIiwib25DaGFuZ2UiLCJzaG93U2FtcGxlQW5zd2VyIiwic2FtcGxlVGV4dCIsInNhbXBsZSIsImJvb2wiXSwic291cmNlcyI6WyIuLi9zcmMvcG9pbnQtbWVudS5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1lbnUgZnJvbSAnQG11aS9tYXRlcmlhbC9NZW51JztcbmltcG9ydCBNZW51SXRlbSBmcm9tICdAbXVpL21hdGVyaWFsL01lbnVJdGVtJztcbmltcG9ydCBNb3JlVmVydEljb24gZnJvbSAnQG11aS9pY29ucy1tYXRlcmlhbC9Nb3JlVmVydCc7XG5pbXBvcnQgTW9yZUhvcml6SWNvbiBmcm9tICdAbXVpL2ljb25zLW1hdGVyaWFsL01vcmVIb3Jpeic7XG5pbXBvcnQgSWNvbkJ1dHRvbiBmcm9tICdAbXVpL21hdGVyaWFsL0ljb25CdXR0b24nO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBjbGFzcyBJY29uTWVudSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgb3B0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBvbkNsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBhbmNob3JFbDogdW5kZWZpbmVkLFxuICAgICAgb3BlbjogZmFsc2UsXG4gICAgfTtcbiAgfVxuXG4gIGhhbmRsZUNsaWNrID0gKGV2ZW50KSA9PiB0aGlzLnNldFN0YXRlKHsgb3BlbjogdHJ1ZSwgYW5jaG9yRWw6IGV2ZW50LmN1cnJlbnRUYXJnZXQgfSk7XG5cbiAgaGFuZGxlUmVxdWVzdENsb3NlID0gKCkgPT4gdGhpcy5zZXRTdGF0ZSh7IG9wZW46IGZhbHNlIH0pO1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IG9wdHMsIG9uQ2xpY2sgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBvcGVuLCBhbmNob3JFbCB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMob3B0cykgfHwgW107XG5cbiAgICBjb25zdCBoYW5kbGVNZW51Q2xpY2sgPSAoa2V5KSA9PiAoKSA9PiB7XG4gICAgICBvbkNsaWNrKGtleSk7XG4gICAgICB0aGlzLmhhbmRsZVJlcXVlc3RDbG9zZSgpO1xuICAgIH07XG5cbiAgICBjb25zdCBpY29uQ29sb3IgPSBvcGVuID8gJ2luaGVyaXQnIDogJ2Rpc2FibGVkJztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2xpY2t9PlxuICAgICAgICAgIDxJY29uQnV0dG9uIHNpemU9XCJsYXJnZVwiPlxuICAgICAgICAgICAge29wZW4gPyA8TW9yZVZlcnRJY29uIGNvbG9yPXtpY29uQ29sb3J9IC8+IDogPE1vcmVIb3Jpekljb24gY29sb3I9e2ljb25Db2xvcn0gLz59XG4gICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPE1lbnVcbiAgICAgICAgICBpZD1cInBvaW50LW1lbnVcIlxuICAgICAgICAgIGFuY2hvckVsPXthbmNob3JFbH1cbiAgICAgICAgICBvcGVuPXtvcGVufVxuICAgICAgICAgIG9uQ2xvc2U9e3RoaXMuaGFuZGxlUmVxdWVzdENsb3NlfVxuICAgICAgICAgIHN0eWxlPXt7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZSgtMTVweCwgLTE1cHgpJyB9fVxuICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbj17e1xuICAgICAgICAgICAgdmVydGljYWw6ICdjZW50ZXInLFxuICAgICAgICAgICAgaG9yaXpvbnRhbDogJ3JpZ2h0JyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge2tleXMubWFwKChrLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPE1lbnVJdGVtIGtleT17aW5kZXh9IG9uQ2xpY2s9e2hhbmRsZU1lbnVDbGljayhrKX0+XG4gICAgICAgICAgICAgIHtvcHRzW2tdfVxuICAgICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9NZW51PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQb2ludE1lbnUgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dTYW1wbGVBbnN3ZXI6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgb25DaGFuZ2UsIHNob3dTYW1wbGVBbnN3ZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qgc2FtcGxlVGV4dCA9IHNob3dTYW1wbGVBbnN3ZXIgPyAnUHJvdmlkZSBTYW1wbGUgUmVzcG9uc2UnIDogJ1JlbW92ZSBTYW1wbGUgUmVzcG9uc2UnO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxJY29uTWVudVxuICAgICAgICBvbkNsaWNrPXsoa2V5KSA9PiBvbkNoYW5nZShrZXkpfVxuICAgICAgICBvcHRzPXt7XG4gICAgICAgICAgc2FtcGxlOiBzYW1wbGVUZXh0LFxuICAgICAgICB9fVxuICAgICAgLz5cbiAgICApO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxTQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxX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
@@ -1 +1 @@
1
- {"version":3,"file":"point-menu.js","names":["_Menu","_interopRequireDefault","require","_MenuItem","_MoreVert","_MoreHoriz","_IconButton","_propTypes","_react","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","IconMenu","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","event","setState","open","anchorEl","currentTarget","state","undefined","_createClass2","key","value","render","_this2","_this$props","opts","onClick","classes","_this$state","keys","Object","handleMenuClick","handleRequestClose","iconColor","createElement","handleClick","className","icon","color","id","onClose","style","transform","transformOrigin","vertical","horizontal","map","k","index","React","Component","exports","PropTypes","object","func","isRequired","PointMenu","_React$Component2","_super2","_this$props2","onChange","showSampleAnswer","sampleText","sample","bool"],"sources":["../src/point-menu.jsx"],"sourcesContent":["import Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport IconButton from '@material-ui/core/IconButton';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nexport class IconMenu extends React.Component {\n static propTypes = {\n opts: PropTypes.object,\n onClick: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n anchorEl: undefined,\n open: false,\n };\n }\n\n handleClick = (event) => this.setState({ open: true, anchorEl: event.currentTarget });\n\n handleRequestClose = () => this.setState({ open: false });\n\n render() {\n const { opts, onClick, classes } = this.props;\n const { open, anchorEl } = this.state;\n const keys = Object.keys(opts) || [];\n\n const handleMenuClick = (key) => () => {\n onClick(key);\n this.handleRequestClose();\n };\n\n const iconColor = open ? 'inherit' : 'disabled';\n\n return (\n <div>\n <div onClick={this.handleClick}>\n <IconButton className={classes.icon}>\n {open ? <MoreVertIcon color={iconColor} /> : <MoreHorizIcon color={iconColor} />}\n </IconButton>\n </div>\n <Menu\n id=\"point-menu\"\n anchorEl={anchorEl}\n open={open}\n onClose={this.handleRequestClose}\n style={{ transform: 'translate(-15px, -15px)' }}\n transformOrigin={{\n vertical: 'center',\n horizontal: 'right',\n }}\n >\n {keys.map((k, index) => (\n <MenuItem key={index} onClick={handleMenuClick(k)}>\n {opts[k]}\n </MenuItem>\n ))}\n </Menu>\n </div>\n );\n }\n}\n\nexport default class PointMenu extends React.Component {\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n showSampleAnswer: PropTypes.bool.isRequired,\n };\n\n static defaultProps = {\n classes: {},\n };\n\n render() {\n const { onChange, classes, showSampleAnswer } = this.props;\n const sampleText = showSampleAnswer ? 'Provide Sample Response' : 'Remove Sample Response';\n\n return (\n <IconMenu\n onClick={(key) => onChange(key)}\n opts={{\n sample: sampleText,\n }}\n classes={classes}\n />\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"point-menu.js","names":["_Menu","_interopRequireDefault","require","_MenuItem","_MoreVert","_MoreHoriz","_IconButton","_propTypes","_react","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","IconMenu","exports","_React$Component","props","_this","_classCallCheck2","_defineProperty2","event","setState","open","anchorEl","currentTarget","state","undefined","_inherits2","_createClass2","key","value","render","_this2","_this$props","opts","onClick","_this$state","keys","Object","handleMenuClick","handleRequestClose","iconColor","createElement","handleClick","size","color","id","onClose","style","transform","transformOrigin","vertical","horizontal","map","k","index","React","Component","PropTypes","object","func","isRequired","PointMenu","_React$Component2","arguments","_this$props2","onChange","showSampleAnswer","sampleText","sample","bool"],"sources":["../src/point-menu.jsx"],"sourcesContent":["import Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport MoreHorizIcon from '@mui/icons-material/MoreHoriz';\nimport IconButton from '@mui/material/IconButton';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nexport class IconMenu extends React.Component {\n static propTypes = {\n opts: PropTypes.object,\n onClick: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n anchorEl: undefined,\n open: false,\n };\n }\n\n handleClick = (event) => this.setState({ open: true, anchorEl: event.currentTarget });\n\n handleRequestClose = () => this.setState({ open: false });\n\n render() {\n const { opts, onClick } = this.props;\n const { open, anchorEl } = this.state;\n const keys = Object.keys(opts) || [];\n\n const handleMenuClick = (key) => () => {\n onClick(key);\n this.handleRequestClose();\n };\n\n const iconColor = open ? 'inherit' : 'disabled';\n\n return (\n <div>\n <div onClick={this.handleClick}>\n <IconButton size=\"large\">\n {open ? <MoreVertIcon color={iconColor} /> : <MoreHorizIcon color={iconColor} />}\n </IconButton>\n </div>\n <Menu\n id=\"point-menu\"\n anchorEl={anchorEl}\n open={open}\n onClose={this.handleRequestClose}\n style={{ transform: 'translate(-15px, -15px)' }}\n transformOrigin={{\n vertical: 'center',\n horizontal: 'right',\n }}\n >\n {keys.map((k, index) => (\n <MenuItem key={index} onClick={handleMenuClick(k)}>\n {opts[k]}\n </MenuItem>\n ))}\n </Menu>\n </div>\n );\n }\n}\n\nexport default class PointMenu extends React.Component {\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n showSampleAnswer: PropTypes.bool.isRequired,\n };\n\n render() {\n const { onChange, showSampleAnswer } = this.props;\n const sampleText = showSampleAnswer ? 'Provide Sample Response' : 'Remove Sample Response';\n\n return (\n <IconMenu\n onClick={(key) => onChange(key)}\n opts={{\n sample: sampleText,\n }}\n />\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,20 +1,23 @@
1
1
  {
2
2
  "name": "@pie-lib/rubric",
3
- "version": "1.0.0-beta.5",
3
+ "version": "1.1.0-next.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
7
  "main": "lib/index.js",
8
8
  "module": "src/index.js",
9
9
  "dependencies": {
10
- "@material-ui/core": "^3.9.3",
11
- "@material-ui/icons": "^3.0.2",
12
- "@pie-lib/editable-html": "10.0.0-beta.7",
10
+ "@emotion/react": "^11.14.0",
11
+ "@emotion/style": "^0.8.0",
12
+ "@hello-pangea/dnd": "^18.0.1",
13
+ "@mui/icons-material": "^7.3.4",
14
+ "@mui/material": "^7.3.4",
15
+ "@pie-lib/editable-html-tip-tap": "1.1.0-next.0",
13
16
  "debug": "^4.1.1",
14
17
  "lodash": "^4.17.11",
15
18
  "prop-types": "^15.7.2",
16
- "react": "^16.8.1",
17
- "react-beautiful-dnd": "^11.0.2",
18
- "react-dom": "^16.9.0"
19
- }
19
+ "react": "^18.2.0",
20
+ "react-dom": "^18.2.0"
21
+ },
22
+ "gitHead": "7920444a455f301d7bee978b72a3548e96f3e5dc"
20
23
  }
@@ -0,0 +1,179 @@
1
+ import { render, screen } from '@testing-library/react';
2
+ import React from 'react';
3
+ import { RawAuthoring } from '../authoring';
4
+ import _ from 'lodash';
5
+ import { ThemeProvider, createTheme } from '@mui/material/styles';
6
+
7
+ // Mock dependencies
8
+ jest.mock('@pie-lib/editable-html-tip-tap', () => {
9
+ return function EditableHtml(props) {
10
+ return <div data-testid="editable-html" data-markup={props.markup} />;
11
+ };
12
+ });
13
+
14
+ jest.mock('@pie-lib/config-ui', () => ({
15
+ FeedbackConfig: ({ feedback }) => <div data-testid="feedback-config">{JSON.stringify(feedback)}</div>,
16
+ }));
17
+
18
+ jest.mock('@hello-pangea/dnd', () => ({
19
+ DragDropContext: ({ children }) => <div data-testid="drag-drop-context">{children}</div>,
20
+ Droppable: ({ children }) => children({ droppableProps: {}, innerRef: () => {} }, {}),
21
+ Draggable: ({ children, index }) =>
22
+ children(
23
+ {
24
+ innerRef: () => {},
25
+ draggableProps: { 'data-draggable-index': index },
26
+ dragHandleProps: {},
27
+ },
28
+ {},
29
+ ),
30
+ }));
31
+
32
+ describe('Rubric', () => {
33
+ const points = ['nothing right', 'a teeny bit right', 'mostly right', 'bingo'];
34
+ const sampleAnswers = [null, 'just right', 'not left', null];
35
+ const theme = createTheme();
36
+
37
+ const renderComponent = (value = {}, props = {}) => {
38
+ const defaultProps = {
39
+ classes: {},
40
+ onChange: jest.fn(),
41
+ className: 'className',
42
+ value: {
43
+ excludeZero: false,
44
+ points,
45
+ sampleAnswers,
46
+ ...value,
47
+ },
48
+ ...props,
49
+ };
50
+
51
+ return {
52
+ ...render(
53
+ <ThemeProvider theme={theme}>
54
+ <RawAuthoring {...defaultProps} />
55
+ </ThemeProvider>,
56
+ ),
57
+ onChange: defaultProps.onChange,
58
+ props: defaultProps,
59
+ };
60
+ };
61
+
62
+ describe('render', () => {
63
+ it('renders rubric title and main structure', () => {
64
+ renderComponent();
65
+ expect(screen.getByText('Rubric')).toBeInTheDocument();
66
+ expect(screen.getByLabelText('Max Points')).toBeInTheDocument();
67
+ expect(screen.getByLabelText('Exclude zeros')).toBeInTheDocument();
68
+ });
69
+
70
+ it('renders all point configurations', () => {
71
+ const { container } = renderComponent();
72
+ // Verify DragDropContext is rendered
73
+ expect(container.querySelector('[data-testid="drag-drop-context"]')).toBeInTheDocument();
74
+
75
+ // Check that point labels are rendered (4 points = "3 pts", "2 pts", "1 pt", "0 pt")
76
+ // Note: The PointConfig component uses singular "pt" for 0 and 1, plural "pts" for 2+
77
+ expect(screen.getByText('3 pts')).toBeInTheDocument();
78
+ expect(screen.getByText('2 pts')).toBeInTheDocument();
79
+ expect(screen.getByText('1 pt')).toBeInTheDocument();
80
+ expect(screen.getByText('0 pt')).toBeInTheDocument();
81
+ });
82
+
83
+ describe('draggable', () => {
84
+ it('renders 3 draggable items when excludeZero is true', () => {
85
+ const { container } = renderComponent({ excludeZero: true });
86
+
87
+ // When excludeZero is true, the last point (0 pts) should not be rendered
88
+ // So we should have 3 draggable items
89
+ const draggableItems = container.querySelectorAll('[data-draggable-index]');
90
+ expect(draggableItems.length).toEqual(3);
91
+
92
+ // Verify the 0 pt label is not rendered
93
+ expect(screen.queryByText('0 pt')).not.toBeInTheDocument();
94
+ });
95
+
96
+ it('renders 4 draggable items when excludeZero is false', () => {
97
+ const { container } = renderComponent({ excludeZero: false });
98
+
99
+ // When excludeZero is false, all points including 0 should be rendered
100
+ const draggableItems = container.querySelectorAll('[data-draggable-index]');
101
+ expect(draggableItems.length).toEqual(4);
102
+
103
+ // Verify all point labels are rendered
104
+ expect(screen.getByText('3 pts')).toBeInTheDocument();
105
+ expect(screen.getByText('2 pts')).toBeInTheDocument();
106
+ expect(screen.getByText('1 pt')).toBeInTheDocument();
107
+ expect(screen.getByText('0 pt')).toBeInTheDocument();
108
+ });
109
+ });
110
+ });
111
+
112
+ describe('logic', () => {
113
+ describe('changeMaxPoints', () => {
114
+ const testChangeMaxPoints = (maxPoints, excludeZero, expectedPoints, expectedSampleAnswers) => {
115
+ it(`maxPoints=${maxPoints}, excludeZero=${excludeZero} calls onChange correctly`, () => {
116
+ const { onChange, container } = renderComponent({ excludeZero });
117
+
118
+ // Get the component instance through the container
119
+ // We need to call the method directly since we're testing internal behavior
120
+ const instance = container.querySelector('[class*="MuiBox-root"]')?._owner;
121
+
122
+ // Since we can't easily access instance methods in RTL, we'll test the behavior
123
+ // by verifying the onChange prop receives the correct values
124
+ // For now, we'll directly test the logic
125
+ const component = new RawAuthoring({
126
+ value: { excludeZero, points, sampleAnswers },
127
+ onChange,
128
+ classes: {},
129
+ className: 'className',
130
+ });
131
+
132
+ component.changeMaxPoints(maxPoints);
133
+
134
+ expect(onChange).toHaveBeenCalledWith({
135
+ excludeZero,
136
+ points: expectedPoints,
137
+ sampleAnswers: expectedSampleAnswers,
138
+ maxPoints: expectedPoints.length - 1,
139
+ });
140
+ });
141
+ };
142
+
143
+ testChangeMaxPoints(1, false, _.takeRight(points, 2), _.takeRight(sampleAnswers, 2));
144
+ testChangeMaxPoints(1, true, _.takeRight(points, 2), _.takeRight(sampleAnswers, 2));
145
+ testChangeMaxPoints(2, true, _.takeRight(points, 3), _.takeRight(sampleAnswers, 3));
146
+ testChangeMaxPoints(2, false, _.takeRight(points, 3), _.takeRight(sampleAnswers, 3));
147
+ testChangeMaxPoints(5, false, ['', ''].concat(points), [null, null].concat(sampleAnswers));
148
+ });
149
+
150
+ describe('changeSampleResponse', () => {
151
+ const testChangeSampleResponse = (index, clickedItem, excludeZero, expectedPoints, expectedSampleAnswers) => {
152
+ it(`Point ${index} with clickedItem="${clickedItem}" calls onChange correctly`, () => {
153
+ const { onChange } = renderComponent({ excludeZero });
154
+
155
+ // Test the logic by creating a component instance and calling the method
156
+ const component = new RawAuthoring({
157
+ value: { excludeZero, points, sampleAnswers },
158
+ onChange,
159
+ classes: {},
160
+ className: 'className',
161
+ });
162
+
163
+ component.onPointMenuChange(index, clickedItem);
164
+
165
+ expect(onChange).toHaveBeenCalledWith({
166
+ excludeZero,
167
+ points: expectedPoints,
168
+ sampleAnswers: expectedSampleAnswers,
169
+ });
170
+ });
171
+ };
172
+
173
+ testChangeSampleResponse(0, 'sample', false, points, ['', 'just right', 'not left', null]);
174
+ testChangeSampleResponse(3, 'sample', false, points, [null, 'just right', 'not left', '']);
175
+ testChangeSampleResponse(1, 'sample', true, points, [null, null, 'not left', null]);
176
+ testChangeSampleResponse(3, 'sample', true, points, [null, 'just right', 'not left', '']);
177
+ });
178
+ });
179
+ });