@pie-element/multi-trait-rubric 1.4.18 → 1.4.20-beta.1443

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/CHANGELOG.md +342 -0
  2. package/configure/CHANGELOG.md +322 -0
  3. package/configure/lib/common.js +47 -10
  4. package/configure/lib/common.js.map +1 -1
  5. package/configure/lib/defaults.js +22 -6
  6. package/configure/lib/defaults.js.map +1 -1
  7. package/configure/lib/index.js +17 -3
  8. package/configure/lib/index.js.map +1 -1
  9. package/configure/lib/main.js +155 -94
  10. package/configure/lib/main.js.map +1 -1
  11. package/configure/lib/modals.js +36 -5
  12. package/configure/lib/modals.js.map +1 -1
  13. package/configure/lib/scale.js +56 -10
  14. package/configure/lib/scale.js.map +1 -1
  15. package/configure/lib/trait.js +16 -6
  16. package/configure/lib/trait.js.map +1 -1
  17. package/configure/lib/traitsHeader.js +13 -5
  18. package/configure/lib/traitsHeader.js.map +1 -1
  19. package/configure/lib/utils.js.map +1 -1
  20. package/configure/package.json +7 -7
  21. package/controller/CHANGELOG.md +22 -0
  22. package/controller/lib/defaults.js +85 -1
  23. package/controller/lib/defaults.js.map +1 -1
  24. package/controller/lib/index.js +5 -3
  25. package/controller/lib/index.js.map +1 -1
  26. package/controller/package.json +2 -2
  27. package/docs/config-schema.json +41 -16
  28. package/docs/config-schema.json.md +32 -12
  29. package/docs/demo/config.js +2 -2
  30. package/docs/demo/generate.js +92 -20
  31. package/docs/demo/session.js +1 -1
  32. package/docs/pie-schema.json +7 -1
  33. package/docs/pie-schema.json.md +4 -0
  34. package/lib/index.js +3 -0
  35. package/lib/index.js.map +1 -1
  36. package/lib/main.js +41 -6
  37. package/lib/main.js.map +1 -1
  38. package/lib/scale.js.map +1 -1
  39. package/lib/trait.js.map +1 -1
  40. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/traitsHeader.jsx"],"names":["styles","label","textAlign","width","border","margin","padding","display","alignItems","justifyContent","greyHeader","background","color","secondaryBackground","borderRadius","position","primaryBlockGreyHeader","paddingTop","TraitsHeaderTile","anchorEl","scorePointLabel","value","props","scorePointsLabels","onScaleChange","length","event","setState","currentTarget","secondaryBlock","scrollTo","left","showDeleteScaleModal","handleClose","nextProps","currentPosition","scrollToPosition","scorePointsValues","traitLabel","classes","showStandards","onTraitLabelChange","showDescription","showLevelTagInput","maxPoints","updateMaxPointsFieldValue","scaleIndex","showScorePointLabels","secondaryBlockWidth","setSecondaryBlockRef","state","HeaderHeightLarge","HeaderHeight","labelPlugins","handleClick","map","option","openMenu","ref","scorePointsValue","index","adjustedBlockWidth","BlockWidth","remainingSpace","scoreDescriptor","e","onScorePointLabelChange","React","Component","propTypes","PropTypes","object","isRequired","func","arrayOf","number","string","bool"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withStyles } from '@material-ui/core/styles';\nimport IconButton from '@material-ui/core/IconButton';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport { color } from '@pie-lib/render-ui';\n\nimport {\n Block,\n BlockWidth,\n PrimaryBlock,\n Row,\n SecondaryBlock,\n ScorePoint,\n MaxPointsPicker,\n SimpleInput,\n ScaleSettings,\n HeaderHeight,\n HeaderHeightLarge\n} from './common';\nimport { labelPlugins } from './utils';\n\nconst styles = {\n label: {\n textAlign: 'center',\n width: '140px',\n border: 'none',\n margin: '8px',\n padding: '10px 0',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-around'\n },\n greyHeader: {\n background: color.secondaryBackground(),\n borderRadius: '4px',\n position: 'relative'\n },\n primaryBlockGreyHeader: {\n paddingTop: '12px'\n }\n};\n\nexport class TraitsHeaderTile extends React.Component {\n state = {\n anchorEl: null,\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.currentPosition !== this.props.currentPosition) {\n this.scrollToPosition(nextProps.currentPosition);\n }\n }\n\n onScorePointLabelChange = ({ scorePointLabel, value }) => {\n const { scorePointsLabels, onScaleChange } = this.props;\n\n if (value < 0 || value >= scorePointsLabels.length) return;\n\n scorePointsLabels[value] = scorePointLabel;\n\n onScaleChange({ scorePointsLabels });\n };\n\n handleClick = (event) => this.setState({ anchorEl: event.currentTarget });\n\n handleClose = () => this.setState({ anchorEl: null });\n\n scrollToPosition = position => this.secondaryBlock.scrollTo({ left: position });\n\n openMenu = () => {\n this.props.showDeleteScaleModal();\n this.handleClose();\n };\n\n render() {\n const {\n scorePointsValues,\n scorePointsLabels,\n traitLabel,\n classes,\n currentPosition,\n showStandards,\n onTraitLabelChange,\n showDescription,\n showLevelTagInput,\n maxPoints,\n updateMaxPointsFieldValue,\n scaleIndex,\n showScorePointLabels,\n secondaryBlockWidth,\n setSecondaryBlockRef,\n } = this.props;\n const { anchorEl } = this.state;\n\n return (\n <Row className={classes.greyHeader} height={showLevelTagInput ? HeaderHeightLarge : HeaderHeight}>\n <PrimaryBlock className={classes.primaryBlockGreyHeader}>\n {showLevelTagInput && (\n <SimpleInput\n markup={traitLabel || 'Trait'}\n onChange={onTraitLabelChange}\n pluginProps={labelPlugins}\n label='Level Label'\n />\n )}\n\n <ScaleSettings>\n <div>\n Scale {scaleIndex + 1}\n </div>\n\n <MaxPointsPicker\n maxPoints={maxPoints}\n onChange={updateMaxPointsFieldValue}\n />\n\n <div>\n <IconButton\n aria-label=\"more\"\n aria-controls=\"long-menu\"\n aria-haspopup=\"true\"\n onClick={this.handleClick}\n >\n <MoreVertIcon/>\n </IconButton>\n <Menu\n id=\"long-menu\"\n anchorEl={anchorEl}\n keepMounted\n open={!!anchorEl}\n onClose={this.handleClose}\n >\n {['Remove Scale'].map((option) => (\n <MenuItem\n key={option}\n onClick={this.openMenu}\n >\n {option}\n </MenuItem>\n ))}\n </Menu>\n </div>\n </ScaleSettings>\n </PrimaryBlock>\n\n <SecondaryBlock\n setRef={ref => {\n if (ref) {\n this.secondaryBlock = ref;\n setSecondaryBlockRef(ref);\n }\n }}\n width={`${secondaryBlockWidth}px`}\n >\n\n {showStandards && (\n <Block>\n <div className={classes.label}>\n Standard(s)\n </div>\n </Block>\n )}\n\n {showDescription && (\n <Block>\n <div className={classes.label}>\n Description\n </div>\n </Block>\n )}\n\n {scorePointsValues.map((scorePointsValue, index) => {\n const adjustedBlockWidth = BlockWidth + 2 * 8; // 8 is padding\n const remainingSpace = secondaryBlockWidth - adjustedBlockWidth * index + currentPosition - 128;\n const value = scorePointsValues.length - index - 1;\n let scoreDescriptor;\n\n try {\n scoreDescriptor = scorePointsLabels[value] || '';\n } catch (e) {\n scoreDescriptor = '';\n }\n\n return (\n <Block key={`secondary-block-part-${index}`}>\n <ScorePoint\n scorePointsValue={scorePointsValue}\n scoreDescriptor={scoreDescriptor}\n pluginProps={labelPlugins}\n showScorePointLabels={showScorePointLabels}\n onChange={scorePointLabel => this.onScorePointLabelChange({ scorePointLabel, value })}\n alignToRight={remainingSpace < 296} // 296 is the space required for the toolbar\n />\n </Block>\n )\n })}\n </SecondaryBlock>\n </Row>\n );\n }\n}\n\nTraitsHeaderTile.propTypes = {\n classes: PropTypes.object.isRequired,\n onTraitLabelChange: PropTypes.func,\n onScaleChange: PropTypes.func,\n scorePointsValues: PropTypes.arrayOf(PropTypes.number),\n scorePointsLabels: PropTypes.arrayOf(PropTypes.string),\n traitLabel: PropTypes.string,\n showStandards: PropTypes.bool,\n showLevelTagInput: PropTypes.bool,\n showDescription: PropTypes.bool,\n maxPoints: PropTypes.number,\n updateMaxPointsFieldValue: PropTypes.func,\n scaleIndex: PropTypes.number,\n currentPosition: PropTypes.number,\n secondaryBlockWidth: PropTypes.number,\n showDeleteScaleModal: PropTypes.func,\n showScorePointLabels: PropTypes.bool,\n setSecondaryBlockRef: PropTypes.func\n};\n\nexport default withStyles(styles)(TraitsHeaderTile);\n"],"file":"traitsHeader.js"}
1
+ {"version":3,"sources":["../src/traitsHeader.jsx"],"names":["styles","label","textAlign","width","border","margin","padding","display","alignItems","justifyContent","greyHeader","background","color","secondaryBackground","borderRadius","position","primaryBlockGreyHeader","paddingTop","TraitsHeaderTile","anchorEl","scorePointLabel","value","props","scorePointsLabels","onScaleChange","length","event","setState","currentTarget","secondaryBlock","scrollTo","left","showDeleteScaleModal","handleClose","nextProps","currentPosition","scrollToPosition","scorePointsValues","traitLabel","classes","showStandards","onTraitLabelChange","showDescription","showLevelTagInput","maxPoints","updateMaxPointsFieldValue","scaleIndex","showScorePointLabels","secondaryBlockWidth","setSecondaryBlockRef","spellCheck","uploadSoundSupport","maxPointsEnabled","state","HeaderHeightLarge","HeaderHeight","labelPlugins","handleClick","map","option","openMenu","ref","scorePointsValue","index","adjustedBlockWidth","BlockWidth","remainingSpace","scoreDescriptor","e","onScorePointLabelChange","React","Component","propTypes","PropTypes","object","isRequired","func","arrayOf","number","string","bool"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withStyles } from '@material-ui/core/styles';\nimport IconButton from '@material-ui/core/IconButton';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport { color } from '@pie-lib/render-ui';\n\nimport {\n Block,\n BlockWidth,\n PrimaryBlock,\n Row,\n SecondaryBlock,\n ScorePoint,\n MaxPointsPicker,\n SimpleInput,\n ScaleSettings,\n HeaderHeight,\n HeaderHeightLarge,\n} from './common';\nimport { labelPlugins } from './utils';\n\nconst styles = {\n label: {\n textAlign: 'center',\n width: '140px',\n border: 'none',\n margin: '8px',\n padding: '10px 0',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-around',\n },\n greyHeader: {\n background: color.secondaryBackground(),\n borderRadius: '4px',\n position: 'relative',\n },\n primaryBlockGreyHeader: {\n paddingTop: '12px',\n },\n};\n\nexport class TraitsHeaderTile extends React.Component {\n state = {\n anchorEl: null,\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.currentPosition !== this.props.currentPosition) {\n this.scrollToPosition(nextProps.currentPosition);\n }\n }\n\n onScorePointLabelChange = ({ scorePointLabel, value }) => {\n const { scorePointsLabels, onScaleChange } = this.props;\n\n if (value < 0 || value >= scorePointsLabels.length) return;\n\n scorePointsLabels[value] = scorePointLabel;\n\n onScaleChange({ scorePointsLabels });\n };\n\n handleClick = (event) => this.setState({ anchorEl: event.currentTarget });\n\n handleClose = () => this.setState({ anchorEl: null });\n\n scrollToPosition = (position) => this.secondaryBlock.scrollTo({ left: position });\n\n openMenu = () => {\n this.props.showDeleteScaleModal();\n this.handleClose();\n };\n\n render() {\n const {\n scorePointsValues,\n scorePointsLabels,\n traitLabel,\n classes,\n currentPosition,\n showStandards,\n onTraitLabelChange,\n showDescription,\n showLevelTagInput,\n maxPoints,\n updateMaxPointsFieldValue,\n scaleIndex,\n showScorePointLabels,\n secondaryBlockWidth,\n setSecondaryBlockRef,\n spellCheck,\n uploadSoundSupport,\n maxPointsEnabled,\n } = this.props;\n const { anchorEl } = this.state;\n\n return (\n <Row className={classes.greyHeader} height={showLevelTagInput ? HeaderHeightLarge : HeaderHeight}>\n <PrimaryBlock className={classes.primaryBlockGreyHeader}>\n {showLevelTagInput && (\n <SimpleInput\n markup={traitLabel || 'Trait'}\n onChange={onTraitLabelChange}\n pluginProps={labelPlugins}\n spellCheck={spellCheck}\n label=\"Level Label\"\n uploadSoundSupport={uploadSoundSupport}\n />\n )}\n\n <ScaleSettings>\n <div>Scale {scaleIndex + 1}</div>\n\n {maxPointsEnabled && <MaxPointsPicker maxPoints={maxPoints} onChange={updateMaxPointsFieldValue} />}\n\n <div>\n <IconButton aria-label=\"more\" aria-controls=\"long-menu\" aria-haspopup=\"true\" onClick={this.handleClick}>\n <MoreVertIcon />\n </IconButton>\n <Menu id=\"long-menu\" anchorEl={anchorEl} keepMounted open={!!anchorEl} onClose={this.handleClose}>\n {['Remove Scale'].map((option) => (\n <MenuItem key={option} onClick={this.openMenu}>\n {option}\n </MenuItem>\n ))}\n </Menu>\n </div>\n </ScaleSettings>\n </PrimaryBlock>\n\n <SecondaryBlock\n setRef={(ref) => {\n if (ref) {\n this.secondaryBlock = ref;\n setSecondaryBlockRef(ref);\n }\n }}\n width={`${secondaryBlockWidth}px`}\n >\n {showStandards && (\n <Block>\n <div className={classes.label}>Standard(s)</div>\n </Block>\n )}\n\n {showDescription && (\n <Block>\n <div className={classes.label}>Description</div>\n </Block>\n )}\n\n {scorePointsValues.map((scorePointsValue, index) => {\n const adjustedBlockWidth = BlockWidth + 2 * 8; // 8 is padding\n const remainingSpace = secondaryBlockWidth - adjustedBlockWidth * index + currentPosition - 128;\n const value = scorePointsValues.length - index - 1;\n let scoreDescriptor;\n\n try {\n scoreDescriptor = scorePointsLabels[value] || '';\n } catch (e) {\n scoreDescriptor = '';\n }\n\n return (\n <Block key={`secondary-block-part-${index}`}>\n <ScorePoint\n scorePointsValue={scorePointsValue}\n scoreDescriptor={scoreDescriptor}\n pluginProps={labelPlugins}\n showScorePointLabels={showScorePointLabels}\n onChange={(scorePointLabel) => this.onScorePointLabelChange({ scorePointLabel, value })}\n alignToRight={remainingSpace < 296} // 296 is the space required for the toolbar\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n />\n </Block>\n );\n })}\n </SecondaryBlock>\n </Row>\n );\n }\n}\n\nTraitsHeaderTile.propTypes = {\n classes: PropTypes.object.isRequired,\n onTraitLabelChange: PropTypes.func,\n onScaleChange: PropTypes.func,\n scorePointsValues: PropTypes.arrayOf(PropTypes.number),\n scorePointsLabels: PropTypes.arrayOf(PropTypes.string),\n traitLabel: PropTypes.string,\n showStandards: PropTypes.bool,\n showLevelTagInput: PropTypes.bool,\n showDescription: PropTypes.bool,\n maxPoints: PropTypes.number,\n updateMaxPointsFieldValue: PropTypes.func,\n scaleIndex: PropTypes.number,\n currentPosition: PropTypes.number,\n secondaryBlockWidth: PropTypes.number,\n showDeleteScaleModal: PropTypes.func,\n showScorePointLabels: PropTypes.bool,\n setSecondaryBlockRef: PropTypes.func,\n uploadSoundSupport: PropTypes.object,\n};\n\nexport default withStyles(styles)(TraitsHeaderTile);\n"],"file":"traitsHeader.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils.js"],"names":["filteredDefaultPlugins","DEFAULT_PLUGINS","filter","p","labelPlugins","image","disabled","math","audio","video"],"mappings":";;;;;;;AAAA;;AAEO,IAAMA,sBAAsB,GAAG,CAACC,iCAAmB,EAApB,EAAwBC,MAAxB,CAA+B,UAAAC,CAAC;AAAA,SAAIA,CAAC,KAAK,OAAN,IAAiBA,CAAC,KAAK,eAAvB,IAA0CA,CAAC,KAAK,eAApD;AAAA,CAAhC,CAA/B;;AAEA,IAAMC,YAAY,GAAG;AAC1BC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,QAAQ,EAAE;AAAZ,GADmB;AAE1BC,EAAAA,IAAI,EAAE;AAAED,IAAAA,QAAQ,EAAE;AAAZ,GAFoB;AAG1BE,EAAAA,KAAK,EAAE;AAAEF,IAAAA,QAAQ,EAAE;AAAZ,GAHmB;AAI1BG,EAAAA,KAAK,EAAE;AAAEH,IAAAA,QAAQ,EAAE;AAAZ;AAJmB,CAArB","sourcesContent":["import {DEFAULT_PLUGINS} from '@pie-lib/editable-html';\n\nexport const filteredDefaultPlugins = (DEFAULT_PLUGINS || []).filter(p => p !== 'table' && p !== 'bulleted-list' && p !== 'numbered-list');\n\nexport const labelPlugins = {\n image: { disabled: true },\n math: { disabled: true },\n audio: { disabled: true },\n video: { disabled: true }\n};\n"],"file":"utils.js"}
1
+ {"version":3,"sources":["../src/utils.js"],"names":["filteredDefaultPlugins","DEFAULT_PLUGINS","filter","p","labelPlugins","image","disabled","math","audio","video"],"mappings":";;;;;;;AAAA;;AAEO,IAAMA,sBAAsB,GAAG,CAACC,iCAAmB,EAApB,EAAwBC,MAAxB,CACpC,UAACC,CAAD;AAAA,SAAOA,CAAC,KAAK,OAAN,IAAiBA,CAAC,KAAK,eAAvB,IAA0CA,CAAC,KAAK,eAAvD;AAAA,CADoC,CAA/B;;AAIA,IAAMC,YAAY,GAAG;AAC1BC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,QAAQ,EAAE;AAAZ,GADmB;AAE1BC,EAAAA,IAAI,EAAE;AAAED,IAAAA,QAAQ,EAAE;AAAZ,GAFoB;AAG1BE,EAAAA,KAAK,EAAE;AAAEF,IAAAA,QAAQ,EAAE;AAAZ,GAHmB;AAI1BG,EAAAA,KAAK,EAAE;AAAEH,IAAAA,QAAQ,EAAE;AAAZ;AAJmB,CAArB","sourcesContent":["import { DEFAULT_PLUGINS } from '@pie-lib/editable-html';\n\nexport const filteredDefaultPlugins = (DEFAULT_PLUGINS || []).filter(\n (p) => p !== 'table' && p !== 'bulleted-list' && p !== 'numbered-list',\n);\n\nexport const labelPlugins = {\n image: { disabled: true },\n math: { disabled: true },\n audio: { disabled: true },\n video: { disabled: true },\n};\n"],"file":"utils.js"}
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@pie-element/multi-trait-rubric-configure",
3
- "version": "1.4.12",
3
+ "version": "2.3.0",
4
4
  "private": true,
5
5
  "main": "lib/index.js",
6
6
  "module": "src/index.js",
7
7
  "dependencies": {
8
8
  "@material-ui/core": "^3.9.2",
9
9
  "@material-ui/icons": "^3.0.1",
10
- "@pie-framework/pie-configure-events": "^1.2.0",
11
- "@pie-lib/config-ui": "^10.10.15",
12
- "@pie-lib/editable-html": "^7.17.15",
13
- "@pie-lib/render-ui": "^4.12.4",
14
- "@pie-lib/rubric": "^0.4.5",
15
- "@pie-lib/scoring-config": "^3.5.144",
10
+ "@pie-framework/pie-configure-events": "^1.3.0",
11
+ "@pie-lib/config-ui": "12.0.0-beta.2",
12
+ "@pie-lib/editable-html": "10.0.0-beta.2",
13
+ "@pie-lib/render-ui": "^4.14.12",
14
+ "@pie-lib/rubric": "1.0.0-beta.1",
15
+ "@pie-lib/scoring-config": "^3.6.12",
16
16
  "debug": "^3.1.0",
17
17
  "lodash": "^4.17.15",
18
18
  "prop-types": "^15.6.2",
@@ -3,6 +3,28 @@
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.13](https://github.com/pie-framework/pie-elements/compare/@pie-element/multi-trait-rubric-controller@1.2.12...@pie-element/multi-trait-rubric-controller@1.2.13) (2023-01-17)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **multi-trait-rubric:** fix validation bugs, update documentation. Fixed match docs typo PD-2427 ([26d598e](https://github.com/pie-framework/pie-elements/commit/26d598e7a32d50ed176d566605bb6b4ebdc07a2c))
12
+
13
+
14
+
15
+
16
+
17
+ ## [1.2.12](https://github.com/pie-framework/pie-elements/compare/@pie-element/multi-trait-rubric-controller@1.2.11...@pie-element/multi-trait-rubric-controller@1.2.12) (2022-12-07)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * update libs ([441f403](https://github.com/pie-framework/pie-elements/commit/441f403870b7bec0d61fab58b8d93dbe0ead4c32))
23
+
24
+
25
+
26
+
27
+
6
28
  ## [1.2.8](https://github.com/pie-framework/pie-elements/compare/@pie-element/multi-trait-rubric-controller@1.2.6...@pie-element/multi-trait-rubric-controller@1.2.8) (2021-11-11)
7
29
 
8
30
  **Note:** Version bump only for package @pie-element/multi-trait-rubric-controller
@@ -4,6 +4,90 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _default = {};
7
+ var _default = {
8
+ model: {
9
+ visibleToStudent: true,
10
+ halfScoring: false,
11
+ pointLabels: true,
12
+ description: false,
13
+ standards: false,
14
+ scales: [],
15
+ excludeZero: false,
16
+ maxPointsEnabled: true,
17
+ addScaleEnabled: true
18
+ },
19
+ configuration: {
20
+ excludeZeroDialogBoxContent: {
21
+ title: 'Exclude 0 (Zero) from Score Point Values.',
22
+ text: "<div>\n You are about to exclude 0 from score point values.\n <br/>\n Some of the existing data has to be changed.\n <br/>\n Please choose if you want to:\n <ul>\n <li>\n shift Labels and Descriptions to the left\n </li>\n <li>\n remove 0 column with its Label and Description\n </li>\n </ul>\n </div>"
23
+ },
24
+ includeZeroDialogBoxContent: {
25
+ title: 'Include 0 (Zero) in Score Point Values.',
26
+ text: "<div>\n You are about to include 0 in score point values.\n <br/>\n Some of the existing data has to be changed.\n <br/>\n Please choose if you want to:\n <ul>\n <li>\n shift Labels and Descriptions to the right\n </li>\n <li>\n add 0 column with empty Label and Descriptions\n </li>\n </ul>\n </div>"
27
+ },
28
+ deleteScaleDialogBoxContent: {
29
+ title: 'Delete Scale',
30
+ text: 'Are you sure you want to delete this scale?'
31
+ },
32
+ maxPointsDialogBoxContent: {
33
+ title: 'Decreasing Max Points.',
34
+ text: " You are about to decrease max score point value.\n <br/>\n All the Labels and Descriptions for scores above Max Point will be deleted."
35
+ },
36
+ settingsPanelDisabled: false,
37
+ spellCheck: {
38
+ label: 'Spellcheck',
39
+ settings: false,
40
+ enabled: true
41
+ },
42
+ showExcludeZero: {
43
+ settings: true,
44
+ label: 'Exclude Zero'
45
+ },
46
+ showScorePointLabels: {
47
+ settings: true,
48
+ label: 'Show Score Point Labels'
49
+ },
50
+ showDescription: {
51
+ settings: true,
52
+ label: 'Show Description'
53
+ },
54
+ showVisibleToStudent: {
55
+ settings: true,
56
+ label: 'Visible to Student'
57
+ },
58
+ showHalfScoring: {
59
+ settings: true,
60
+ label: 'Half Scoring'
61
+ },
62
+ width: '900px',
63
+ // these should not be set to true (should not be used) for now
64
+ showStandards: {
65
+ settings: false,
66
+ label: 'Show Standards'
67
+ },
68
+ showLevelTagInput: {
69
+ settings: false,
70
+ label: 'Show Level Tag Input',
71
+ enabled: false
72
+ },
73
+ dragAndDrop: {
74
+ settings: true,
75
+ label: 'Enable Drag and Drop',
76
+ enabled: false
77
+ },
78
+ showMaxPoint: {
79
+ settings: true,
80
+ label: 'Show Max Points Dropdown'
81
+ },
82
+ addScale: {
83
+ settings: true,
84
+ label: 'Add Scale Available'
85
+ },
86
+ minNoOfTraits: 1,
87
+ maxNoOfTraits: 10,
88
+ minNoOfScales: 2,
89
+ maxNoOfScales: 10
90
+ }
91
+ };
8
92
  exports["default"] = _default;
9
93
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":[],"mappings":";;;;;;eAAe,E","sourcesContent":["export default {};\n"],"file":"defaults.js"}
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["model","visibleToStudent","halfScoring","pointLabels","description","standards","scales","excludeZero","maxPointsEnabled","addScaleEnabled","configuration","excludeZeroDialogBoxContent","title","text","includeZeroDialogBoxContent","deleteScaleDialogBoxContent","maxPointsDialogBoxContent","settingsPanelDisabled","spellCheck","label","settings","enabled","showExcludeZero","showScorePointLabels","showDescription","showVisibleToStudent","showHalfScoring","width","showStandards","showLevelTagInput","dragAndDrop","showMaxPoint","addScale","minNoOfTraits","maxNoOfTraits","minNoOfScales","maxNoOfScales"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,gBAAgB,EAAE,IADb;AAELC,IAAAA,WAAW,EAAE,KAFR;AAGLC,IAAAA,WAAW,EAAE,IAHR;AAILC,IAAAA,WAAW,EAAE,KAJR;AAKLC,IAAAA,SAAS,EAAE,KALN;AAMLC,IAAAA,MAAM,EAAE,EANH;AAOLC,IAAAA,WAAW,EAAE,KAPR;AAQLC,IAAAA,gBAAgB,EAAE,IARb;AASLC,IAAAA,eAAe,EAAE;AATZ,GADM;AAYbC,EAAAA,aAAa,EAAE;AACbC,IAAAA,2BAA2B,EAAE;AAC3BC,MAAAA,KAAK,EAAE,2CADoB;AAE3BC,MAAAA,IAAI;AAFuB,KADhB;AAmBbC,IAAAA,2BAA2B,EAAE;AAC3BF,MAAAA,KAAK,EAAE,yCADoB;AAE3BC,MAAAA,IAAI;AAFuB,KAnBhB;AAqCbE,IAAAA,2BAA2B,EAAE;AAC3BH,MAAAA,KAAK,EAAE,cADoB;AAE3BC,MAAAA,IAAI,EAAE;AAFqB,KArChB;AAyCbG,IAAAA,yBAAyB,EAAE;AACzBJ,MAAAA,KAAK,EAAE,wBADkB;AAEzBC,MAAAA,IAAI;AAFqB,KAzCd;AA+CbI,IAAAA,qBAAqB,EAAE,KA/CV;AAgDbC,IAAAA,UAAU,EAAE;AACVC,MAAAA,KAAK,EAAE,YADG;AAEVC,MAAAA,QAAQ,EAAE,KAFA;AAGVC,MAAAA,OAAO,EAAE;AAHC,KAhDC;AAqDbC,IAAAA,eAAe,EAAE;AACfF,MAAAA,QAAQ,EAAE,IADK;AAEfD,MAAAA,KAAK,EAAE;AAFQ,KArDJ;AAyDbI,IAAAA,oBAAoB,EAAE;AACpBH,MAAAA,QAAQ,EAAE,IADU;AAEpBD,MAAAA,KAAK,EAAE;AAFa,KAzDT;AA6DbK,IAAAA,eAAe,EAAE;AACfJ,MAAAA,QAAQ,EAAE,IADK;AAEfD,MAAAA,KAAK,EAAE;AAFQ,KA7DJ;AAiEbM,IAAAA,oBAAoB,EAAE;AACpBL,MAAAA,QAAQ,EAAE,IADU;AAEpBD,MAAAA,KAAK,EAAE;AAFa,KAjET;AAqEbO,IAAAA,eAAe,EAAE;AACfN,MAAAA,QAAQ,EAAE,IADK;AAEfD,MAAAA,KAAK,EAAE;AAFQ,KArEJ;AAyEbQ,IAAAA,KAAK,EAAE,OAzEM;AA0Eb;AACAC,IAAAA,aAAa,EAAE;AACbR,MAAAA,QAAQ,EAAE,KADG;AAEbD,MAAAA,KAAK,EAAE;AAFM,KA3EF;AA+EbU,IAAAA,iBAAiB,EAAE;AACjBT,MAAAA,QAAQ,EAAE,KADO;AAEjBD,MAAAA,KAAK,EAAE,sBAFU;AAGjBE,MAAAA,OAAO,EAAE;AAHQ,KA/EN;AAoFbS,IAAAA,WAAW,EAAE;AACXV,MAAAA,QAAQ,EAAE,IADC;AAEXD,MAAAA,KAAK,EAAE,sBAFI;AAGXE,MAAAA,OAAO,EAAE;AAHE,KApFA;AAyFbU,IAAAA,YAAY,EAAE;AACZX,MAAAA,QAAQ,EAAE,IADE;AAEZD,MAAAA,KAAK,EAAE;AAFK,KAzFD;AA6Fba,IAAAA,QAAQ,EAAE;AACRZ,MAAAA,QAAQ,EAAE,IADF;AAERD,MAAAA,KAAK,EAAE;AAFC,KA7FG;AAiGbc,IAAAA,aAAa,EAAE,CAjGF;AAkGbC,IAAAA,aAAa,EAAE,EAlGF;AAmGbC,IAAAA,aAAa,EAAE,CAnGF;AAoGbC,IAAAA,aAAa,EAAE;AApGF;AAZF,C","sourcesContent":["export default {\n model: {\n visibleToStudent: true,\n halfScoring: false,\n pointLabels: true,\n description: false,\n standards: false,\n scales: [],\n excludeZero: false,\n maxPointsEnabled: true,\n addScaleEnabled: true,\n },\n configuration: {\n excludeZeroDialogBoxContent: {\n title: 'Exclude 0 (Zero) from Score Point Values.',\n text: `<div>\n You are about to exclude 0 from score point values.\n <br/>\n Some of the existing data has to be changed.\n <br/>\n Please choose if you want to:\n <ul>\n <li>\n shift Labels and Descriptions to the left\n </li>\n <li>\n remove 0 column with its Label and Description\n </li>\n </ul>\n </div>`,\n },\n includeZeroDialogBoxContent: {\n title: 'Include 0 (Zero) in Score Point Values.',\n text: `<div>\n You are about to include 0 in score point values.\n <br/>\n Some of the existing data has to be changed.\n <br/>\n Please choose if you want to:\n <ul>\n <li>\n shift Labels and Descriptions to the right\n </li>\n <li>\n add 0 column with empty Label and Descriptions\n </li>\n </ul>\n </div>`,\n },\n deleteScaleDialogBoxContent: {\n title: 'Delete Scale',\n text: 'Are you sure you want to delete this scale?',\n },\n maxPointsDialogBoxContent: {\n title: 'Decreasing Max Points.',\n text: ` You are about to decrease max score point value.\n <br/>\n All the Labels and Descriptions for scores above Max Point will be deleted.`,\n },\n settingsPanelDisabled: false,\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n showExcludeZero: {\n settings: true,\n label: 'Exclude Zero',\n },\n showScorePointLabels: {\n settings: true,\n label: 'Show Score Point Labels',\n },\n showDescription: {\n settings: true,\n label: 'Show Description',\n },\n showVisibleToStudent: {\n settings: true,\n label: 'Visible to Student',\n },\n showHalfScoring: {\n settings: true,\n label: 'Half Scoring',\n },\n width: '900px',\n // these should not be set to true (should not be used) for now\n showStandards: {\n settings: false,\n label: 'Show Standards',\n },\n showLevelTagInput: {\n settings: false,\n label: 'Show Level Tag Input',\n enabled: false,\n },\n dragAndDrop: {\n settings: true,\n label: 'Enable Drag and Drop',\n enabled: false,\n },\n showMaxPoint: {\n settings: true,\n label: 'Show Max Points Dropdown',\n },\n addScale: {\n settings: true,\n label: 'Add Scale Available',\n },\n minNoOfTraits: 1,\n maxNoOfTraits: 10,\n minNoOfScales: 2,\n maxNoOfScales: 10,\n },\n};\n"],"file":"defaults.js"}
@@ -5,10 +5,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ exports.createCorrectResponseSession = void 0;
8
9
  exports.createDefaultModel = createDefaultModel;
10
+ exports.getScore = void 0;
9
11
  exports.model = model;
12
+ exports.normalize = void 0;
10
13
  exports.outcome = outcome;
11
- exports.createCorrectResponseSession = exports.getScore = exports.normalize = void 0;
12
14
 
13
15
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
14
16
 
@@ -18,9 +20,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
18
20
 
19
21
  var _defaults = _interopRequireDefault(require("./defaults"));
20
22
 
21
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
23
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22
24
 
23
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
25
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
24
26
 
25
27
  function createDefaultModel() {
26
28
  var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["createDefaultModel","model","Promise","resolve","defaults","normalize","question","session","env","normalizedQuestion","role","visible","visibleToStudent","scales","excludeZero","parsedScales","map","scale","getScore","outcome","score","empty","createCorrectResponseSession","mode","id"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;;;;;AAEO,SAASA,kBAAT,GAAwC;AAAA,MAAZC,KAAY,uEAAJ,EAAI;AAC7C,SAAO,IAAIC,OAAJ,CAAY,UAAAC,OAAO;AAAA,WAAIA,OAAO,iCAAMC,oBAAN,GAAmBH,KAAnB,EAAX;AAAA,GAAnB,CAAP;AACD;;AAEM,IAAMI,SAAS,GAAG,SAAZA,SAAY,CAAAC,QAAQ;AAAA,yCAAUF,oBAAV,GAAuBE,QAAvB;AAAA,CAA1B;AAEP;AACA;AACA;AACA;AACA;AACA;;;;;SACsBL,K;;;;;yFAAf,iBAAqBK,QAArB,EAA+BC,OAA/B,EAAwCC,GAAxC;AAAA;;AAAA;AAAA;AAAA;AAAA;AACCC,YAAAA,kBADD,GACsBJ,SAAS,CAACC,QAAD,CAD/B;;AAGL,gBAAI,CAACE,GAAG,CAACE,IAAL,IAAaF,GAAG,CAACE,IAAJ,KAAa,SAA9B,EAAyC;AACvCD,cAAAA,kBAAkB,CAACE,OAAnB,GAA6BF,kBAAkB,CAACG,gBAAhD;AACD,aAFD,MAEO;AACLH,cAAAA,kBAAkB,CAACE,OAAnB,GAA6B,IAA7B;AACD,aAPI,CASL;;;AATK,mBAU2BF,kBAAkB,IAAI,EAVjD,EAUGI,MAVH,QAUGA,MAVH,EAUWC,WAVX,QAUWA,WAVX;AAWCC,YAAAA,YAXD,GAWgB,CAACF,MAAM,IAAI,EAAX,EAAeG,GAAf,CAAmB,UAAAC,KAAK;AAAA,qDAAUA,KAAV;AAAiBH,gBAAAA,WAAW,EAAXA;AAAjB;AAAA,aAAxB,CAXhB;AAAA,6EAcAL,kBAdA;AAeHI,cAAAA,MAAM,EAAEE;AAfL;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAoBA,IAAMG,QAAQ,GAAG,SAAXA,QAAW;AAAA,SAAM,CAAN;AAAA,CAAjB;AAEP;AACA;AACA;AACA;AACA;;;;;AACO,SAASC,OAAT,CAAiBlB,KAAjB,EAAwBM,OAAxB,EAAiCC,GAAjC,EAAsC;AAC3C,SAAO,IAAIN,OAAJ,CAAY,UAAAC,OAAO;AAAA,WAAIA,OAAO,CAAC;AAAEiB,MAAAA,KAAK,EAAE,CAAT;AAAYC,MAAAA,KAAK,EAAE;AAAnB,KAAD,CAAX;AAAA,GAAnB,CAAP;AACD;;AAEM,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,CAAChB,QAAD,EAAWE,GAAX,EAAmB;AAC7D,SAAO,IAAIN,OAAJ,CAAY,UAAAC,OAAO,EAAI;AAC5B,QAAIK,GAAG,CAACe,IAAJ,KAAa,UAAb,IAA2Bf,GAAG,CAACE,IAAJ,KAAa,YAA5C,EAA0D;AACxDP,MAAAA,OAAO,CAAC;AAAEqB,QAAAA,EAAE,EAAE;AAAN,OAAD,CAAP;AACD,KAFD,MAEO;AACLrB,MAAAA,OAAO,CAAC,IAAD,CAAP;AACD;AACF,GANM,CAAP;AAOD,CARM","sourcesContent":["import defaults from './defaults';\n\nexport function createDefaultModel(model = {}) {\n return new Promise(resolve => resolve({ ...defaults, ...model }));\n}\n\nexport const normalize = question => ({ ...defaults, ...question });\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const normalizedQuestion = normalize(question);\n\n if (!env.role || env.role === 'student') {\n normalizedQuestion.visible = normalizedQuestion.visibleToStudent;\n } else {\n normalizedQuestion.visible = true;\n }\n\n // todo update pie-ui instead of parsing this here:\n const { scales, excludeZero } = normalizedQuestion || {};\n const parsedScales = (scales || []).map(scale => ({ ...scale, excludeZero }));\n\n return {\n ...normalizedQuestion,\n scales: parsedScales\n };\n}\n\n\nexport const getScore = () => 0;\n\n/**\n * @param {Object} model - the main model\n * @param {*} session\n * @param {Object} env\n */\nexport function outcome(model, session, env) {\n return new Promise(resolve => resolve({ score: 0, empty: true }));\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise(resolve => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n resolve({ id: '1' });\n } else {\n resolve(null);\n }\n });\n};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["createDefaultModel","model","Promise","resolve","defaults","normalize","question","session","env","normalizedQuestion","role","visible","visibleToStudent","scales","excludeZero","parsedScales","map","scale","getScore","outcome","score","empty","createCorrectResponseSession","mode","id"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;;;;;;AAEO,SAASA,kBAAT,GAAwC;AAAA,MAAZC,KAAY,uEAAJ,EAAI;AAC7C,SAAO,IAAIC,OAAJ,CAAY,UAACC,OAAD;AAAA,WAAaA,OAAO,iCAAMC,oBAAN,GAAmBH,KAAnB,EAApB;AAAA,GAAZ,CAAP;AACD;;AAEM,IAAMI,SAAS,GAAG,SAAZA,SAAY,CAACC,QAAD;AAAA,yCAAoBF,oBAApB,GAAiCE,QAAjC;AAAA,CAAlB;AAEP;AACA;AACA;AACA;AACA;AACA;;;;;SACsBL,K;;;;;yFAAf,iBAAqBK,QAArB,EAA+BC,OAA/B,EAAwCC,GAAxC;AAAA;;AAAA;AAAA;AAAA;AAAA;AACCC,YAAAA,kBADD,GACsBJ,SAAS,CAACC,QAAD,CAD/B;;AAGL,gBAAI,CAACE,GAAG,CAACE,IAAL,IAAaF,GAAG,CAACE,IAAJ,KAAa,SAA9B,EAAyC;AACvCD,cAAAA,kBAAkB,CAACE,OAAnB,GAA6BF,kBAAkB,CAACG,gBAAhD;AACD,aAFD,MAEO;AACLH,cAAAA,kBAAkB,CAACE,OAAnB,GAA6B,IAA7B;AACD,aAPI,CASL;;;AATK,mBAU2BF,kBAAkB,IAAI,EAVjD,EAUGI,MAVH,QAUGA,MAVH,EAUWC,WAVX,QAUWA,WAVX;AAWCC,YAAAA,YAXD,GAWgB,CAACF,MAAM,IAAI,EAAX,EAAeG,GAAf,CAAmB,UAACC,KAAD;AAAA,qDAAiBA,KAAjB;AAAwBH,gBAAAA,WAAW,EAAXA;AAAxB;AAAA,aAAnB,CAXhB;AAAA,6EAcAL,kBAdA;AAeHI,cAAAA,MAAM,EAAEE;AAfL;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAmBA,IAAMG,QAAQ,GAAG,SAAXA,QAAW;AAAA,SAAM,CAAN;AAAA,CAAjB;AAEP;AACA;AACA;AACA;AACA;;;;;AACO,SAASC,OAAT,CAAiBlB,KAAjB,EAAwBM,OAAxB,EAAiCC,GAAjC,EAAsC;AAC3C,SAAO,IAAIN,OAAJ,CAAY,UAACC,OAAD;AAAA,WAAaA,OAAO,CAAC;AAAEiB,MAAAA,KAAK,EAAE,CAAT;AAAYC,MAAAA,KAAK,EAAE;AAAnB,KAAD,CAApB;AAAA,GAAZ,CAAP;AACD;;AAEM,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,CAAChB,QAAD,EAAWE,GAAX,EAAmB;AAC7D,SAAO,IAAIN,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9B,QAAIK,GAAG,CAACe,IAAJ,KAAa,UAAb,IAA2Bf,GAAG,CAACE,IAAJ,KAAa,YAA5C,EAA0D;AACxDP,MAAAA,OAAO,CAAC;AAAEqB,QAAAA,EAAE,EAAE;AAAN,OAAD,CAAP;AACD,KAFD,MAEO;AACLrB,MAAAA,OAAO,CAAC,IAAD,CAAP;AACD;AACF,GANM,CAAP;AAOD,CARM","sourcesContent":["import defaults from './defaults';\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => resolve({ ...defaults, ...model }));\n}\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const normalizedQuestion = normalize(question);\n\n if (!env.role || env.role === 'student') {\n normalizedQuestion.visible = normalizedQuestion.visibleToStudent;\n } else {\n normalizedQuestion.visible = true;\n }\n\n // todo update pie-ui instead of parsing this here:\n const { scales, excludeZero } = normalizedQuestion || {};\n const parsedScales = (scales || []).map((scale) => ({ ...scale, excludeZero }));\n\n return {\n ...normalizedQuestion,\n scales: parsedScales,\n };\n}\n\nexport const getScore = () => 0;\n\n/**\n * @param {Object} model - the main model\n * @param {*} session\n * @param {Object} env\n */\nexport function outcome(model, session, env) {\n return new Promise((resolve) => resolve({ score: 0, empty: true }));\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n resolve({ id: '1' });\n } else {\n resolve(null);\n }\n });\n};\n"],"file":"index.js"}
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@pie-element/multi-trait-rubric-controller",
3
3
  "private": true,
4
- "version": "1.2.11",
4
+ "version": "1.2.13",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
8
8
  "author": "",
9
9
  "license": "ISC",
10
10
  "dependencies": {
11
- "@pie-lib/controller-utils": "^0.2.26",
11
+ "@pie-lib/controller-utils": "^0.2.42",
12
12
  "debug": "^3.1.0",
13
13
  "lodash": "^4.17.15"
14
14
  }
@@ -35,22 +35,6 @@
35
35
  }
36
36
  }
37
37
  },
38
- "deleteTraitDialogBoxContent": {
39
- "title": "DialogContent",
40
- "type": "object",
41
- "properties": {
42
- "title": {
43
- "description": "Dialog box title",
44
- "type": "string",
45
- "title": "title"
46
- },
47
- "text": {
48
- "description": "Dialog box text",
49
- "type": "string",
50
- "title": "text"
51
- }
52
- }
53
- },
54
38
  "deleteScaleDialogBoxContent": {
55
39
  "title": "DialogContent",
56
40
  "type": "object",
@@ -83,6 +67,11 @@
83
67
  }
84
68
  }
85
69
  },
70
+ "settingsPanelDisabled": {
71
+ "description": "Indicates if the settings panel is not available",
72
+ "type": "boolean",
73
+ "title": "settingsPanelDisabled"
74
+ },
86
75
  "showExcludeZero": {
87
76
  "title": "ConfigureProp",
88
77
  "type": "object",
@@ -163,10 +152,46 @@
163
152
  }
164
153
  }
165
154
  },
155
+ "spellCheck": {
156
+ "title": "ConfigureProp",
157
+ "type": "object",
158
+ "properties": {
159
+ "settings": {
160
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
161
+ "type": "boolean",
162
+ "title": "settings"
163
+ },
164
+ "label": {
165
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
166
+ "type": "string",
167
+ "title": "label"
168
+ }
169
+ }
170
+ },
166
171
  "width": {
167
172
  "description": "How large (in px) should multi-trait-rubric be",
168
173
  "type": "string",
169
174
  "title": "width"
175
+ },
176
+ "minNoOfTraits": {
177
+ "description": "Minimum number of traits",
178
+ "type": "number",
179
+ "title": "minNoOfTraits"
180
+ },
181
+ "maxNoOfTraits": {
182
+ "description": "Maximum number of traits",
183
+ "type": "number",
184
+ "title": "maxNoOfTraits"
185
+ },
186
+ "minNoOfScales": {
187
+ "description": "Minimum number of scales",
188
+ "type": "number",
189
+ "title": "minNoOfScales"
190
+ },
191
+ "maxNoOfScales": {
192
+ "description": "Maximum number of scales",
193
+ "type": "number",
194
+ "title": "maxNoOfScales"
170
195
  }
171
196
  },
172
197
  "required": [
@@ -26,18 +26,6 @@ Dialog box title
26
26
 
27
27
  Dialog box text
28
28
 
29
- # `deleteTraitDialogBoxContent` (object)
30
-
31
- Properties of the `deleteTraitDialogBoxContent` object:
32
-
33
- ## `title` (string)
34
-
35
- Dialog box title
36
-
37
- ## `text` (string)
38
-
39
- Dialog box text
40
-
41
29
  # `deleteScaleDialogBoxContent` (object)
42
30
 
43
31
  Properties of the `deleteScaleDialogBoxContent` object:
@@ -62,6 +50,10 @@ Dialog box title
62
50
 
63
51
  Dialog box text
64
52
 
53
+ # `settingsPanelDisabled` (boolean)
54
+
55
+ Indicates if the settings panel is not available
56
+
65
57
  # `showExcludeZero` (object)
66
58
 
67
59
  Properties of the `showExcludeZero` object:
@@ -122,10 +114,38 @@ Indicates if the item has to be displayed in the Settings Panel
122
114
 
123
115
  Indicates the label for the item that has to be displayed in the Settings Panel
124
116
 
117
+ # `spellCheck` (object)
118
+
119
+ Properties of the `spellCheck` object:
120
+
121
+ ## `settings` (boolean)
122
+
123
+ Indicates if the item has to be displayed in the Settings Panel
124
+
125
+ ## `label` (string)
126
+
127
+ Indicates the label for the item that has to be displayed in the Settings Panel
128
+
125
129
  # `width` (string, required)
126
130
 
127
131
  How large (in px) should multi-trait-rubric be
128
132
 
133
+ # `minNoOfTraits` (number)
134
+
135
+ Minimum number of traits
136
+
137
+ # `maxNoOfTraits` (number)
138
+
139
+ Maximum number of traits
140
+
141
+ # `minNoOfScales` (number)
142
+
143
+ Minimum number of scales
144
+
145
+ # `maxNoOfScales` (number)
146
+
147
+ Maximum number of scales
148
+
129
149
  ---
130
150
 
131
151
  # Sub Schemas
@@ -2,7 +2,7 @@ const { model } = require('./generate');
2
2
 
3
3
  module.exports = {
4
4
  elements: {
5
- 'multi-trait-rubric': '../..'
5
+ 'multi-trait-rubric': '../..',
6
6
  },
7
- models: [model('1', 'multi-trait-rubric')]
7
+ models: [model('1', 'multi-trait-rubric')],
8
8
  };
@@ -7,6 +7,8 @@ exports.model = (id, element) => ({
7
7
  pointLabels: true,
8
8
  description: false,
9
9
  standards: false,
10
+ maxPointsEnabled: true,
11
+ addScaleEnabled: true,
10
12
  scales: [
11
13
  {
12
14
  maxPoints: 4,
@@ -31,10 +33,42 @@ exports.model = (id, element) => ({
31
33
  description: 'the internal structure of the piece',
32
34
  scorePointsDescriptors: [
33
35
  'Student’s response is blank, not in English, not legible, or does not respond to the prompt.',
34
- 'Does not have a beginning, middle and/or end\n' + '\n' + 'Does not have a lead and/or conclusion\n' + '\n' + 'Transitions confusing and/or not present\n' + '\n' + 'Not written in logical order\n' + '\n' + 'No sign of paragraphing / incorrect paragraphing',
35
- 'Weak beginning, middle and end\n' + '\n' + 'Has evidence of a lead and/or conclusion but missing elements\n' + '\n' + 'Transitions are used sometimes\n' + '\n' + 'Some logical order\n' + '\n' + 'Most paragraphing incorrect',
36
- 'Has an acceptable beginning, middle and end\n' + '\n' + 'Includes a lead and conclusion\n' + '\n' + 'Transitions are used correctly\n' + '\n' + 'Mostly logical order\n' + '\n' + 'Mostly correct paragraphing',
37
- 'Has an effective beginning, middle and end\n' + '\n' + 'Powerful introduction / lead and conclusion\n' + '\n' + 'Effective transitions\n' + '\n' + 'Logical order / sequencing\n' + '\n' + 'Uses appropriate paragraphing',
36
+ 'Does not have a beginning, middle and/or end\n' +
37
+ '\n' +
38
+ 'Does not have a lead and/or conclusion\n' +
39
+ '\n' +
40
+ 'Transitions confusing and/or not present\n' +
41
+ '\n' +
42
+ 'Not written in logical order\n' +
43
+ '\n' +
44
+ 'No sign of paragraphing / incorrect paragraphing',
45
+ 'Weak beginning, middle and end\n' +
46
+ '\n' +
47
+ 'Has evidence of a lead and/or conclusion but missing elements\n' +
48
+ '\n' +
49
+ 'Transitions are used sometimes\n' +
50
+ '\n' +
51
+ 'Some logical order\n' +
52
+ '\n' +
53
+ 'Most paragraphing incorrect',
54
+ 'Has an acceptable beginning, middle and end\n' +
55
+ '\n' +
56
+ 'Includes a lead and conclusion\n' +
57
+ '\n' +
58
+ 'Transitions are used correctly\n' +
59
+ '\n' +
60
+ 'Mostly logical order\n' +
61
+ '\n' +
62
+ 'Mostly correct paragraphing',
63
+ 'Has an effective beginning, middle and end\n' +
64
+ '\n' +
65
+ 'Powerful introduction / lead and conclusion\n' +
66
+ '\n' +
67
+ 'Effective transitions\n' +
68
+ '\n' +
69
+ 'Logical order / sequencing\n' +
70
+ '\n' +
71
+ 'Uses appropriate paragraphing',
38
72
  ],
39
73
  },
40
74
  {
@@ -44,8 +78,14 @@ exports.model = (id, element) => ({
44
78
  scorePointsDescriptors: [
45
79
  'Student’s response is blank, not in English, not legible, or does not respond to the prompt.',
46
80
  'Vocabulary is limited/used incorrectly\n' + '\n' + 'No figurative language; words do not convey meaning',
47
- 'Generally correct words\n' + '\n' + 'Attempt at figurative language\n' + '\n' + 'and/or words convey general meaning',
48
- 'Some active verbs and precise nouns\n' + '\n' + 'Effective use of figurative language and/or words that enhance meaning',
81
+ 'Generally correct words\n' +
82
+ '\n' +
83
+ 'Attempt at figurative language\n' +
84
+ '\n' +
85
+ 'and/or words convey general meaning',
86
+ 'Some active verbs and precise nouns\n' +
87
+ '\n' +
88
+ 'Effective use of figurative language and/or words that enhance meaning',
49
89
  'Powerful and engaging words\n' + '\n' + 'Artful use of figurative language and/or sensory detail',
50
90
  ],
51
91
  },
@@ -55,10 +95,26 @@ exports.model = (id, element) => ({
55
95
  description: 'the rhythm and flow of the language',
56
96
  scorePointsDescriptors: [
57
97
  'Student’s response is blank, not in English, not legible, or does not respond to the prompt.',
58
- 'No sentences are clear\n' + '\n' + 'No variety in sentence structure\n' + '\n' + 'Frequent run-ons and/or fragments are present',
59
- 'Some sentences are clear\n' + '\n' + 'Sentence variety used rarely\n' + '\n' + 'Some run-ons and/or fragments are present',
60
- 'Most sentences are clear\n' + '\n' + 'Some sentence variety is used\n' + '\n' + 'Run-ons and/or fragments are rare',
61
- 'All Sentences are clear\n' + '\n' + 'Variety of sentence structure is used\n' + '\n' + 'Run-ons and/or fragments are not present',
98
+ 'No sentences are clear\n' +
99
+ '\n' +
100
+ 'No variety in sentence structure\n' +
101
+ '\n' +
102
+ 'Frequent run-ons and/or fragments are present',
103
+ 'Some sentences are clear\n' +
104
+ '\n' +
105
+ 'Sentence variety used rarely\n' +
106
+ '\n' +
107
+ 'Some run-ons and/or fragments are present',
108
+ 'Most sentences are clear\n' +
109
+ '\n' +
110
+ 'Some sentence variety is used\n' +
111
+ '\n' +
112
+ 'Run-ons and/or fragments are rare',
113
+ 'All Sentences are clear\n' +
114
+ '\n' +
115
+ 'Variety of sentence structure is used\n' +
116
+ '\n' +
117
+ 'Run-ons and/or fragments are not present',
62
118
  ],
63
119
  },
64
120
  {
@@ -76,16 +132,32 @@ exports.model = (id, element) => ({
76
132
  {
77
133
  name: 'Voice',
78
134
  standards: [],
79
- description: 'the personal tone and flavor of the author\'s message',
135
+ description: "the personal tone and flavor of the author's message",
80
136
  scorePointsDescriptors: [
81
137
  'Student’s response is blank, not in English, not legible, or does not respond to the prompt.',
82
- 'Not concerned with audience or purpose\n' + '\n' + 'No viewpoint (perspective) used\n' + '\n' + 'Writing is mechanical and lifeless',
83
- 'Shows beginning awareness of audience/purpose\n' + '\n' + 'Some viewpoint (perspective) used throughout the piece\n' + '\n' + 'Writing is distant, too formal or informal',
84
- 'Awareness of audience; purpose is clear most of the time\n' + '\n' + 'Uses viewpoint (perspective) throughout most of the paper\n' + '\n' + 'Writing is pleasant, agreeable and satisfying',
85
- 'Powerful connection with audience; purpose is clearly communicated\n' + '\n' + 'Maintains strong viewpoint (perspective) throughout entire piece\n' + '\n' + 'Writing is expressive, engaging and has lots of energy',
138
+ 'Not concerned with audience or purpose\n' +
139
+ '\n' +
140
+ 'No viewpoint (perspective) used\n' +
141
+ '\n' +
142
+ 'Writing is mechanical and lifeless',
143
+ 'Shows beginning awareness of audience/purpose\n' +
144
+ '\n' +
145
+ 'Some viewpoint (perspective) used throughout the piece\n' +
146
+ '\n' +
147
+ 'Writing is distant, too formal or informal',
148
+ 'Awareness of audience; purpose is clear most of the time\n' +
149
+ '\n' +
150
+ 'Uses viewpoint (perspective) throughout most of the paper\n' +
151
+ '\n' +
152
+ 'Writing is pleasant, agreeable and satisfying',
153
+ 'Powerful connection with audience; purpose is clearly communicated\n' +
154
+ '\n' +
155
+ 'Maintains strong viewpoint (perspective) throughout entire piece\n' +
156
+ '\n' +
157
+ 'Writing is expressive, engaging and has lots of energy',
86
158
  ],
87
- }
88
- ]
159
+ },
160
+ ],
89
161
  },
90
162
  {
91
163
  maxPoints: 5,
@@ -102,7 +174,7 @@ exports.model = (id, element) => ({
102
174
  'Handwriting is generally legible\n' + '\n' + 'Overall appearance is acceptable or better',
103
175
  ],
104
176
  },
105
- ]
106
- }
107
- ]
177
+ ],
178
+ },
179
+ ],
108
180
  });
@@ -2,5 +2,5 @@ module.exports = [
2
2
  {
3
3
  id: '1',
4
4
  element: 'multi-trait-rubric',
5
- }
5
+ },
6
6
  ];