@pie-element/rubric 1.6.6 → 1.7.4

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 CHANGED
@@ -3,6 +3,43 @@
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.7.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/rubric@1.7.1...@pie-element/rubric@1.7.2) (2021-11-29)
7
+
8
+ **Note:** Version bump only for package @pie-element/rubric
9
+
10
+
11
+
12
+
13
+
14
+ ## [1.7.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/rubric@1.6.6...@pie-element/rubric@1.7.1) (2021-11-11)
15
+
16
+ **Note:** Version bump only for package @pie-element/rubric
17
+
18
+
19
+
20
+
21
+
22
+ # [1.7.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/rubric@1.6.2...@pie-element/rubric@1.7.0) (2021-11-11)
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * **rubric:** display rubric in reverse order in player PD-1375 ([0620538](https://github.com/pie-framework/pie-elements/commit/06205386a3d2c530378be2dccb7943cefa6f5c55))
28
+ * **rubric:** use singular 1PT instead of 1PTS, fix style in IBX PD-1373, PD-1374 ([0c27b32](https://github.com/pie-framework/pie-elements/commit/0c27b327e861831687576a639ba2b6101c7fc0ff))
29
+ * pie-lib updates ([e521c2f](https://github.com/pie-framework/pie-elements/commit/e521c2f1a44aa7f3e14f82a1cee05ceb484ed0a6))
30
+ * Updated pie-lib versions ([2fe4c5d](https://github.com/pie-framework/pie-elements/commit/2fe4c5d0be2d40f5fdb34815855695a7f1087f56))
31
+ * Updated pie-lib versions ([1c23830](https://github.com/pie-framework/pie-elements/commit/1c23830fc75d1de5f7bb3bb16de3c665ae5fa350))
32
+
33
+
34
+ ### Features
35
+
36
+ * **rubric:** Added Studio support: Treat 'null' as null value for sample answer PD-1313 ([04ea11d](https://github.com/pie-framework/pie-elements/commit/04ea11da0b4b2077693c7a22f63091eabdf09481))
37
+
38
+
39
+
40
+
41
+
42
+
6
43
  ## [1.6.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/rubric@1.6.5...@pie-element/rubric@1.6.6) (2021-11-01)
7
44
 
8
45
  **Note:** Version bump only for package @pie-element/rubric
@@ -3,6 +3,14 @@
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.29](https://github.com/pie-framework/pie-elements/compare/@pie-element/rubric-configure@1.2.28...@pie-element/rubric-configure@1.2.29) (2021-11-29)
7
+
8
+ **Note:** Version bump only for package @pie-element/rubric-configure
9
+
10
+
11
+
12
+
13
+
6
14
  ## [1.2.28](https://github.com/pie-framework/pie-elements/compare/@pie-element/rubric-configure@1.2.27...@pie-element/rubric-configure@1.2.28) (2021-10-04)
7
15
 
8
16
  **Note:** Version bump only for package @pie-element/rubric-configure
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@pie-element/rubric-configure",
3
3
  "private": true,
4
- "version": "1.2.28",
4
+ "version": "1.2.31",
5
5
  "description": "Rubric authoring view",
6
6
  "main": "lib/index.js",
7
7
  "author": "Pie Framework Authors",
8
8
  "dependencies": {
9
9
  "@pie-framework/pie-configure-events": "^1.2.0",
10
- "@pie-lib/rubric": "^0.4.1",
10
+ "@pie-lib/rubric": "^0.4.2",
11
11
  "debug": "^4.1.1",
12
12
  "react": "^16.8.6",
13
13
  "react-dom": "^16.8.6"
@@ -3,6 +3,22 @@
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.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/rubric-controller@1.2.2...@pie-element/rubric-controller@1.2.4) (2021-11-11)
7
+
8
+ **Note:** Version bump only for package @pie-element/rubric-controller
9
+
10
+
11
+
12
+
13
+
14
+ ## [1.2.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/rubric-controller@1.2.2...@pie-element/rubric-controller@1.2.3) (2021-11-11)
15
+
16
+ **Note:** Version bump only for package @pie-element/rubric-controller
17
+
18
+
19
+
20
+
21
+
6
22
  ## [1.2.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/rubric-controller@1.2.0...@pie-element/rubric-controller@1.2.2) (2021-08-05)
7
23
 
8
24
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/rubric-controller",
3
3
  "private": true,
4
- "version": "1.2.2",
4
+ "version": "1.2.6",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
7
7
  "test": "./node_modules/.bin/jest"
package/lib/main.js CHANGED
@@ -101,21 +101,22 @@ var Rubric = /*#__PURE__*/function (_React$Component) {
101
101
 
102
102
  var rubricList = /*#__PURE__*/_react["default"].createElement(_List["default"], {
103
103
  component: "nav"
104
- }, points.map(function (desc, index) {
104
+ }, points.slice(0).reverse().map(function (desc, index) {
105
+ index = points.length - index - 1;
105
106
  return _this2.shouldRenderPoint(index, value) && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
106
107
  key: index
107
108
  }, /*#__PURE__*/_react["default"].createElement(_ListItem["default"], {
108
109
  key: "P".concat(index)
109
110
  }, /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], {
110
111
  className: classes.rubricCol,
111
- primary: "".concat(index, " PTS")
112
+ primary: index === 1 ? "".concat(index, " PT") : "".concat(index, " PTS")
112
113
  }), /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], {
113
114
  primary: /*#__PURE__*/_react["default"].createElement("div", {
114
115
  dangerouslySetInnerHTML: {
115
116
  __html: desc
116
117
  }
117
118
  })
118
- })), sampleAnswers && sampleAnswers[index] && sampleAnswers[index] !== 'null' && /*#__PURE__*/_react["default"].createElement(_ListItem["default"], {
119
+ })), sampleAnswers && sampleAnswers[index] && /*#__PURE__*/_react["default"].createElement(_ListItem["default"], {
119
120
  key: "S".concat(index)
120
121
  }, /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], {
121
122
  className: classes.rubricCol,
@@ -158,7 +159,8 @@ var Rubric = /*#__PURE__*/function (_React$Component) {
158
159
  var styles = function styles() {
159
160
  return {
160
161
  rubricCol: {
161
- flex: '0 1 auto'
162
+ flex: '0 1 auto',
163
+ minWidth: 'fit-content'
162
164
  }
163
165
  };
164
166
  };
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["RubricType","PropTypes","shape","excludeZero","bool","points","arrayOf","string","sampleAnswers","Rubric","props","index","value","state","rubricOpen","linkPrefix","toggleRubric","bind","setState","classes","animationsDisabled","rubricList","map","desc","shouldRenderPoint","rubricCol","__html","marginLeft","root","dudUrl","React","Component","object","isRequired","styles","flex"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport ListItem from '@material-ui/core/ListItem';\nimport List from '@material-ui/core/List';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport Link from '@material-ui/core/Link';\nimport Collapse from '@material-ui/core/Collapse';\nimport PropTypes from 'prop-types';\n\nexport const RubricType = PropTypes.shape({\n excludeZero: PropTypes.bool,\n points: PropTypes.arrayOf(PropTypes.string),\n sampleAnswers: PropTypes.arrayOf(PropTypes.string),\n});\n\nclass Rubric extends React.Component {\n dudUrl = 'javascript:;';\n\n constructor(props) {\n super(props);\n this.state = {\n rubricOpen: false,\n linkPrefix: 'Show',\n };\n this.toggleRubric = this.toggleRubric.bind(this);\n }\n\n static propTypes = {\n classes: PropTypes.object.isRequired,\n animationsDisabled: PropTypes.bool,\n value: RubricType,\n };\n\n toggleRubric() {\n this.setState({ rubricOpen: !this.state.rubricOpen });\n this.setState({ linkPrefix: this.state.rubricOpen ? 'Show' : 'Hide' });\n }\n\n shouldRenderPoint = (index, value) => {\n if (!value.excludeZero) {\n return true;\n } else {\n return index !== 0;\n }\n };\n\n render() {\n const { value, classes, animationsDisabled } = this.props;\n\n if (value && value.points) {\n const { points, sampleAnswers } = value;\n\n const rubricList = (\n <List component=\"nav\">\n {points.map(\n (desc, index) =>\n this.shouldRenderPoint(index, value) && (\n <React.Fragment key={index}>\n <ListItem key={`P${index}`}>\n <ListItemText\n className={classes.rubricCol}\n primary={`${index} PTS`}\n />\n <ListItemText\n primary={\n <div dangerouslySetInnerHTML={{ __html: desc }}/>\n }\n />\n </ListItem>\n {sampleAnswers && sampleAnswers[index] && sampleAnswers[index] !== 'null' && (\n <ListItem key={`S${index}`}>\n <ListItemText\n className={classes.rubricCol}\n style={{ marginLeft: '20px' }}\n primary={'Sample Answer'}\n />\n <ListItemText\n primary={\n <div dangerouslySetInnerHTML={{ __html: sampleAnswers[index] }}/>\n }\n />\n </ListItem>\n )}\n </React.Fragment>\n )\n )}\n </List>\n );\n\n return (\n <div className={classes.root}>\n {!animationsDisabled ?\n <React.Fragment>\n <Link href={this.dudUrl} onClick={this.toggleRubric}>\n {this.state.linkPrefix} Rubric\n </Link>\n <Collapse in={this.state.rubricOpen} timeout=\"auto\">\n {rubricList}\n </Collapse>\n </React.Fragment>\n : rubricList\n }\n </div>\n );\n } else {\n return null;\n }\n }\n}\n\nconst styles = () => ({\n rubricCol: {\n flex: '0 1 auto',\n },\n});\n\nexport default withStyles(styles)(Rubric);\n"],"file":"main.js"}
1
+ {"version":3,"sources":["../src/main.jsx"],"names":["RubricType","PropTypes","shape","excludeZero","bool","points","arrayOf","string","sampleAnswers","Rubric","props","index","value","state","rubricOpen","linkPrefix","toggleRubric","bind","setState","classes","animationsDisabled","rubricList","slice","reverse","map","desc","length","shouldRenderPoint","rubricCol","__html","marginLeft","root","dudUrl","React","Component","object","isRequired","styles","flex","minWidth"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport ListItem from '@material-ui/core/ListItem';\nimport List from '@material-ui/core/List';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport Link from '@material-ui/core/Link';\nimport Collapse from '@material-ui/core/Collapse';\nimport PropTypes from 'prop-types';\n\nexport const RubricType = PropTypes.shape({\n excludeZero: PropTypes.bool,\n points: PropTypes.arrayOf(PropTypes.string),\n sampleAnswers: PropTypes.arrayOf(PropTypes.string),\n});\n\nclass Rubric extends React.Component {\n dudUrl = 'javascript:;';\n\n constructor(props) {\n super(props);\n this.state = {\n rubricOpen: false,\n linkPrefix: 'Show',\n };\n this.toggleRubric = this.toggleRubric.bind(this);\n }\n\n static propTypes = {\n classes: PropTypes.object.isRequired,\n animationsDisabled: PropTypes.bool,\n value: RubricType,\n };\n\n toggleRubric() {\n this.setState({ rubricOpen: !this.state.rubricOpen });\n this.setState({ linkPrefix: this.state.rubricOpen ? 'Show' : 'Hide' });\n }\n\n shouldRenderPoint = (index, value) => {\n if (!value.excludeZero) {\n return true;\n } else {\n return index !== 0;\n }\n };\n\n render() {\n const { value, classes, animationsDisabled } = this.props;\n\n if (value && value.points) {\n const { points, sampleAnswers } = value;\n\n const rubricList = <List component=\"nav\">\n {points.slice(0).reverse().map(\n (desc, index) => {\n index = points.length - index - 1;\n return this.shouldRenderPoint(index, value) && (\n <React.Fragment key={index}>\n <ListItem key={`P${index}`}>\n <ListItemText\n className={classes.rubricCol}\n primary={index === 1 ? `${index} PT` : `${index} PTS`}\n />\n <ListItemText\n primary={\n <div dangerouslySetInnerHTML={{ __html: desc }} />\n }\n />\n </ListItem>\n {sampleAnswers && sampleAnswers[index] && (\n <ListItem key={`S${index}`}>\n <ListItemText\n className={classes.rubricCol}\n style={{marginLeft: '20px'}}\n primary={'Sample Answer'}\n />\n <ListItemText\n primary={\n <div dangerouslySetInnerHTML={{ __html: sampleAnswers[index] }} />\n }\n />\n </ListItem>\n )}\n </React.Fragment>\n )\n })}\n </List>;\n\n return (\n <div className={classes.root}>\n {!animationsDisabled ?\n <React.Fragment>\n <Link href={this.dudUrl} onClick={this.toggleRubric}>\n {this.state.linkPrefix} Rubric\n </Link>\n <Collapse in={this.state.rubricOpen} timeout=\"auto\">\n {rubricList}\n </Collapse>\n </React.Fragment>\n : rubricList\n }\n </div>\n );\n } else {\n return null;\n }\n }\n}\n\nconst styles = () => ({\n rubricCol: {\n flex: '0 1 auto',\n minWidth: 'fit-content'\n },\n});\n\nexport default withStyles(styles)(Rubric);\n"],"file":"main.js"}