@pie-lib/rubric 1.2.0-next.13 → 1.2.0-next.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/lib/authoring.js +12 -6
- package/lib/authoring.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/rubric.test.jsx +5 -0
- package/src/authoring.jsx +22 -16
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.2.0-next.14](https://github.com/pie-framework/pie-lib/compare/@pie-lib/rubric@1.2.0-next.13...@pie-lib/rubric@1.2.0-next.14) (2026-03-09)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **rubric:** rubricless intructions fix PD-5657 ([7a05af5](https://github.com/pie-framework/pie-lib/commit/7a05af5122eb499250f89ac9f0115cc3e49f5c92))
|
|
11
|
+
|
|
6
12
|
# [1.2.0-next.13](https://github.com/pie-framework/pie-lib/compare/@pie-lib/rubric@1.2.0-next.12...@pie-lib/rubric@1.2.0-next.13) (2026-03-06)
|
|
7
13
|
|
|
8
14
|
**Note:** Version bump only for package @pie-lib/rubric
|
package/lib/authoring.js
CHANGED
|
@@ -188,14 +188,19 @@ var Container = (0, _styles.styled)('div')(function (_ref6) {
|
|
|
188
188
|
margin: theme.spacing(1)
|
|
189
189
|
};
|
|
190
190
|
});
|
|
191
|
-
var
|
|
191
|
+
var StyledInputContainer = (0, _styles.styled)(_configUi.InputContainer)(function (_ref7) {
|
|
192
192
|
var theme = _ref7.theme;
|
|
193
193
|
return {
|
|
194
194
|
width: '100%',
|
|
195
|
-
paddingTop: theme.spacing(2),
|
|
195
|
+
paddingTop: theme.spacing(2.5),
|
|
196
196
|
marginBottom: theme.spacing(2),
|
|
197
|
-
|
|
197
|
+
marginTop: theme.spacing(1),
|
|
198
|
+
'& .MuiFormControl-root': {
|
|
198
199
|
width: '100%'
|
|
200
|
+
},
|
|
201
|
+
'& > .MuiFormLabel-root.MuiInputLabel-shrink': {
|
|
202
|
+
fontSize: theme.typography.fontSize + 2,
|
|
203
|
+
transform: 'translate(0, 1.5px) scale(0.75)'
|
|
199
204
|
}
|
|
200
205
|
};
|
|
201
206
|
});
|
|
@@ -385,7 +390,7 @@ var RawAuthoring = exports.RawAuthoring = /*#__PURE__*/function (_React$Componen
|
|
|
385
390
|
checked: value.excludeZero,
|
|
386
391
|
onChange: this.excludeZeros
|
|
387
392
|
})
|
|
388
|
-
})), rubriclessInstructionEnabled && rubricless && /*#__PURE__*/_react["default"].createElement(
|
|
393
|
+
})), rubriclessInstructionEnabled && rubricless && /*#__PURE__*/_react["default"].createElement(StyledInputContainer, {
|
|
389
394
|
label: rubriclessInstruction.label
|
|
390
395
|
}, /*#__PURE__*/_react["default"].createElement(_editableHtmlTipTap["default"], {
|
|
391
396
|
markup: value.rubriclessInstruction || '',
|
|
@@ -398,8 +403,9 @@ var RawAuthoring = exports.RawAuthoring = /*#__PURE__*/function (_React$Componen
|
|
|
398
403
|
}, {
|
|
399
404
|
language: 'special'
|
|
400
405
|
}],
|
|
401
|
-
mathMlOptions: mathMlOptions
|
|
402
|
-
|
|
406
|
+
mathMlOptions: mathMlOptions,
|
|
407
|
+
autoWidthToolbar: true
|
|
408
|
+
})), /*#__PURE__*/_react["default"].createElement("div", null, rubricless ? /*#__PURE__*/_react["default"].createElement(Rubricless, null) : /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(_dnd.DragDropContext, {
|
|
403
409
|
onDragEnd: this.dragEnd
|
|
404
410
|
}, /*#__PURE__*/_react["default"].createElement(_dnd.Droppable, {
|
|
405
411
|
droppableId: "droppable"
|
package/lib/authoring.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authoring.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_InputLabel","_OutlinedInput","_Select","_FormControl","_MenuItem","_lodashEs","_Checkbox","_FormGroup","_FormControlLabel","_Typography","_DragIndicator","_dnd","_debug","_pointMenu","_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","maxPoint","point","getPointForIndex","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 { range, takeRight, times } from 'lodash-es';\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, Draggable, Droppable } from '@hello-pangea/dnd';\nimport debug from 'debug';\nimport PointMenu from './point-menu';\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 getPointForIndex = (index, value) => {\n const maxPoint = value.excludeZero ? value.points.length - 1 + 1 : value.points.length - 1;\n return maxPoint - index;\n };\n\n getMaxPoint = (value) => (value.excludeZero ? value.points.length : value.points.length - 1);\n\n shouldRenderPoint = (index, value) => {\n const point = this.getPointForIndex(index, value);\n return point > 0 || !value.excludeZero;\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 ? maxPoints : value.excludeZero ? value.points.length : value.points.length - 1;\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={this.getPointForIndex(index, value)}\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":[]}
|
|
1
|
+
{"version":3,"file":"authoring.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_InputLabel","_OutlinedInput","_Select","_FormControl","_MenuItem","_lodashEs","_Checkbox","_FormGroup","_FormControlLabel","_Typography","_DragIndicator","_dnd","_debug","_pointMenu","_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","StyledInputContainer","InputContainer","_ref7","marginBottom","marginTop","transform","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","maxPoint","point","getPointForIndex","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","changeRubriclessInstruction","nonEmpty","disableUnderline","languageCharactersProps","language","autoWidthToolbar","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 { range, takeRight, times } from 'lodash-es';\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, Draggable, Droppable } from '@hello-pangea/dnd';\nimport debug from 'debug';\nimport PointMenu from './point-menu';\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}));\n\nconst StyledInputContainer = styled(InputContainer)(({ theme }) => ({\n width: '100%',\n paddingTop: theme.spacing(2.5),\n marginBottom: theme.spacing(2),\n marginTop: theme.spacing(1),\n '& .MuiFormControl-root': { width: '100%' },\n '& > .MuiFormLabel-root.MuiInputLabel-shrink': {\n fontSize: theme.typography.fontSize + 2,\n transform: 'translate(0, 1.5px) scale(0.75)',\n },\n}));\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 getPointForIndex = (index, value) => {\n const maxPoint = value.excludeZero ? value.points.length - 1 + 1 : value.points.length - 1;\n return maxPoint - index;\n };\n\n getMaxPoint = (value) => (value.excludeZero ? value.points.length : value.points.length - 1);\n\n shouldRenderPoint = (index, value) => {\n const point = this.getPointForIndex(index, value);\n return point > 0 || !value.excludeZero;\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 ? maxPoints : value.excludeZero ? value.points.length : value.points.length - 1;\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 <StyledInputContainer 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 autoWidthToolbar\n />\n </StyledInputContainer>\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={this.getPointForIndex(index, value)}\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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-lib/rubric",
|
|
3
|
-
"version": "1.2.0-next.
|
|
3
|
+
"version": "1.2.0-next.14",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -20,5 +20,5 @@
|
|
|
20
20
|
"react": "^18.2.0",
|
|
21
21
|
"react-dom": "^18.2.0"
|
|
22
22
|
},
|
|
23
|
-
"gitHead": "
|
|
23
|
+
"gitHead": "26e6c524d3074c1370d5f45214848a379133a184"
|
|
24
24
|
}
|
|
@@ -13,6 +13,11 @@ jest.mock('@pie-lib/editable-html-tip-tap', () => {
|
|
|
13
13
|
|
|
14
14
|
jest.mock('@pie-lib/config-ui', () => ({
|
|
15
15
|
FeedbackConfig: ({ feedback }) => <div data-testid="feedback-config">{JSON.stringify(feedback)}</div>,
|
|
16
|
+
InputContainer: ({ children, label }) => (
|
|
17
|
+
<div data-testid="input-container" data-label={label}>
|
|
18
|
+
{children}
|
|
19
|
+
</div>
|
|
20
|
+
),
|
|
16
21
|
}));
|
|
17
22
|
|
|
18
23
|
jest.mock('@hello-pangea/dnd', () => ({
|
package/src/authoring.jsx
CHANGED
|
@@ -142,12 +142,19 @@ const Container = styled('div')(({ theme }) => ({
|
|
|
142
142
|
padding: theme.spacing(2),
|
|
143
143
|
margin: theme.spacing(1),
|
|
144
144
|
}));
|
|
145
|
-
|
|
145
|
+
|
|
146
|
+
const StyledInputContainer = styled(InputContainer)(({ theme }) => ({
|
|
146
147
|
width: '100%',
|
|
147
|
-
paddingTop: theme.spacing(2),
|
|
148
|
+
paddingTop: theme.spacing(2.5),
|
|
148
149
|
marginBottom: theme.spacing(2),
|
|
149
|
-
|
|
150
|
+
marginTop: theme.spacing(1),
|
|
151
|
+
'& .MuiFormControl-root': { width: '100%' },
|
|
152
|
+
'& > .MuiFormLabel-root.MuiInputLabel-shrink': {
|
|
153
|
+
fontSize: theme.typography.fontSize + 2,
|
|
154
|
+
transform: 'translate(0, 1.5px) scale(0.75)',
|
|
155
|
+
},
|
|
150
156
|
}));
|
|
157
|
+
|
|
151
158
|
const Rubricless = styled('div')(() => ({ display: 'none' }));
|
|
152
159
|
const ConfigHolder = styled('div')(({ theme }) => ({ paddingTop: theme.spacing(1), paddingBottom: theme.spacing(1) }));
|
|
153
160
|
const RubricTitle = styled(Typography)(({ theme }) => ({ paddingLeft: theme.spacing(1), margin: theme.spacing(1) }));
|
|
@@ -301,19 +308,18 @@ export class RawAuthoring extends React.Component {
|
|
|
301
308
|
</FormGroup>
|
|
302
309
|
|
|
303
310
|
{rubriclessInstructionEnabled && rubricless && (
|
|
304
|
-
<
|
|
305
|
-
<
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
</InputContainerWrapper>
|
|
311
|
+
<StyledInputContainer label={rubriclessInstruction.label}>
|
|
312
|
+
<EditableHtml
|
|
313
|
+
markup={value.rubriclessInstruction || ''}
|
|
314
|
+
onChange={this.changeRubriclessInstruction}
|
|
315
|
+
pluginProps={pluginOpts}
|
|
316
|
+
nonEmpty={false}
|
|
317
|
+
disableUnderline
|
|
318
|
+
languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}
|
|
319
|
+
mathMlOptions={mathMlOptions}
|
|
320
|
+
autoWidthToolbar
|
|
321
|
+
/>
|
|
322
|
+
</StyledInputContainer>
|
|
317
323
|
)}
|
|
318
324
|
|
|
319
325
|
<div>
|