@pie-element/rubric 1.6.5 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,51 @@
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
+
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)
44
+
45
+ **Note:** Version bump only for package @pie-element/rubric
46
+
47
+
48
+
49
+
50
+
6
51
  ## [1.6.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/rubric@1.6.4...@pie-element/rubric@1.6.5) (2021-10-04)
7
52
 
8
53
  **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.29",
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.4",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
7
7
  "test": "./node_modules/.bin/jest"
package/lib/main.js CHANGED
@@ -92,36 +92,31 @@ var Rubric = /*#__PURE__*/function (_React$Component) {
92
92
 
93
93
  var _this$props = this.props,
94
94
  value = _this$props.value,
95
- classes = _this$props.classes;
95
+ classes = _this$props.classes,
96
+ animationsDisabled = _this$props.animationsDisabled;
96
97
 
97
98
  if (value && value.points) {
98
99
  var points = value.points,
99
100
  sampleAnswers = value.sampleAnswers;
100
- return /*#__PURE__*/_react["default"].createElement("div", {
101
- className: classes.root
102
- }, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
103
- href: this.dudUrl,
104
- onClick: this.toggleRubric
105
- }, this.state.linkPrefix, " Rubric"), /*#__PURE__*/_react["default"].createElement(_Collapse["default"], {
106
- "in": this.state.rubricOpen,
107
- timeout: "auto"
108
- }, /*#__PURE__*/_react["default"].createElement(_List["default"], {
101
+
102
+ var rubricList = /*#__PURE__*/_react["default"].createElement(_List["default"], {
109
103
  component: "nav"
110
- }, points.map(function (desc, index) {
104
+ }, points.slice(0).reverse().map(function (desc, index) {
105
+ index = points.length - index - 1;
111
106
  return _this2.shouldRenderPoint(index, value) && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
112
107
  key: index
113
108
  }, /*#__PURE__*/_react["default"].createElement(_ListItem["default"], {
114
109
  key: "P".concat(index)
115
110
  }, /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], {
116
111
  className: classes.rubricCol,
117
- primary: "".concat(index, " PTS")
112
+ primary: index === 1 ? "".concat(index, " PT") : "".concat(index, " PTS")
118
113
  }), /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], {
119
114
  primary: /*#__PURE__*/_react["default"].createElement("div", {
120
115
  dangerouslySetInnerHTML: {
121
116
  __html: desc
122
117
  }
123
118
  })
124
- })), sampleAnswers && sampleAnswers[index] && sampleAnswers[index] !== 'null' && /*#__PURE__*/_react["default"].createElement(_ListItem["default"], {
119
+ })), sampleAnswers && sampleAnswers[index] && /*#__PURE__*/_react["default"].createElement(_ListItem["default"], {
125
120
  key: "S".concat(index)
126
121
  }, /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], {
127
122
  className: classes.rubricCol,
@@ -136,7 +131,17 @@ var Rubric = /*#__PURE__*/function (_React$Component) {
136
131
  }
137
132
  })
138
133
  })));
139
- }))));
134
+ }));
135
+
136
+ return /*#__PURE__*/_react["default"].createElement("div", {
137
+ className: classes.root
138
+ }, !animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
139
+ href: this.dudUrl,
140
+ onClick: this.toggleRubric
141
+ }, this.state.linkPrefix, " Rubric"), /*#__PURE__*/_react["default"].createElement(_Collapse["default"], {
142
+ "in": this.state.rubricOpen,
143
+ timeout: "auto"
144
+ }, rubricList)) : rubricList);
140
145
  } else {
141
146
  return null;
142
147
  }
@@ -147,13 +152,15 @@ var Rubric = /*#__PURE__*/function (_React$Component) {
147
152
 
148
153
  (0, _defineProperty2["default"])(Rubric, "propTypes", {
149
154
  classes: _propTypes["default"].object.isRequired,
155
+ animationsDisabled: _propTypes["default"].bool,
150
156
  value: RubricType
151
157
  });
152
158
 
153
159
  var styles = function styles() {
154
160
  return {
155
161
  rubricCol: {
156
- flex: '0 1 auto'
162
+ flex: '0 1 auto',
163
+ minWidth: 'fit-content'
157
164
  }
158
165
  };
159
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","root","dudUrl","map","desc","shouldRenderPoint","rubricCol","__html","marginLeft","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 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 } = this.props;\n\n if (value && value.points) {\n const { points, sampleAnswers } = value;\n\n return (\n <div className={classes.root}>\n <Link href={this.dudUrl} onClick={this.toggleRubric}>\n {this.state.linkPrefix} Rubric\n </Link>\n <Collapse in={this.state.rubricOpen} timeout=\"auto\">\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 </Collapse>\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":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEO,IAAMA,UAAU,GAAGC,sBAAUC,KAAV,CAAgB;AACxCC,EAAAA,WAAW,EAAEF,sBAAUG,IADiB;AAExCC,EAAAA,MAAM,EAAEJ,sBAAUK,OAAV,CAAkBL,sBAAUM,MAA5B,CAFgC;AAGxCC,EAAAA,aAAa,EAAEP,sBAAUK,OAAV,CAAkBL,sBAAUM,MAA5B;AAHyB,CAAhB,CAAnB;;;;IAMDE,M;;;;;AAGJ,kBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,+FAFV,cAEU;AAAA,0GAoBC,UAACC,KAAD,EAAQC,KAAR,EAAkB;AACpC,UAAI,CAACA,KAAK,CAACT,WAAX,EAAwB;AACtB,eAAO,IAAP;AACD,OAFD,MAEO;AACL,eAAOQ,KAAK,KAAK,CAAjB;AACD;AACF,KA1BkB;AAEjB,UAAKE,KAAL,GAAa;AACXC,MAAAA,UAAU,EAAE,KADD;AAEXC,MAAAA,UAAU,EAAE;AAFD,KAAb;AAIA,UAAKC,YAAL,GAAoB,MAAKA,YAAL,CAAkBC,IAAlB,gDAApB;AANiB;AAOlB;;;;WAQD,wBAAe;AACb,WAAKC,QAAL,CAAc;AAAEJ,QAAAA,UAAU,EAAE,CAAC,KAAKD,KAAL,CAAWC;AAA1B,OAAd;AACA,WAAKI,QAAL,CAAc;AAAEH,QAAAA,UAAU,EAAE,KAAKF,KAAL,CAAWC,UAAX,GAAwB,MAAxB,GAAiC;AAA/C,OAAd;AACD;;;WAUD,kBAAS;AAAA;;AACP,wBAA+C,KAAKJ,KAApD;AAAA,UAAQE,KAAR,eAAQA,KAAR;AAAA,UAAeO,OAAf,eAAeA,OAAf;AAAA,UAAwBC,kBAAxB,eAAwBA,kBAAxB;;AAEA,UAAIR,KAAK,IAAIA,KAAK,CAACP,MAAnB,EAA2B;AACzB,YAAQA,MAAR,GAAkCO,KAAlC,CAAQP,MAAR;AAAA,YAAgBG,aAAhB,GAAkCI,KAAlC,CAAgBJ,aAAhB;;AAEA,YAAMa,UAAU,gBAAG,gCAAC,gBAAD;AAAM,UAAA,SAAS,EAAC;AAAhB,WAChBhB,MAAM,CAACiB,KAAP,CAAa,CAAb,EAAgBC,OAAhB,GAA0BC,GAA1B,CACC,UAACC,IAAD,EAAOd,KAAP,EAAiB;AACfA,UAAAA,KAAK,GAAGN,MAAM,CAACqB,MAAP,GAAgBf,KAAhB,GAAwB,CAAhC;AACA,iBAAO,MAAI,CAACgB,iBAAL,CAAuBhB,KAAvB,EAA8BC,KAA9B,kBACL,gCAAC,iBAAD,CAAO,QAAP;AAAgB,YAAA,GAAG,EAAED;AAArB,0BACE,gCAAC,oBAAD;AAAU,YAAA,GAAG,aAAMA,KAAN;AAAb,0BACE,gCAAC,wBAAD;AACE,YAAA,SAAS,EAAEQ,OAAO,CAACS,SADrB;AAEE,YAAA,OAAO,EAAEjB,KAAK,KAAK,CAAV,aAAiBA,KAAjB,qBAAiCA,KAAjC;AAFX,YADF,eAKE,gCAAC,wBAAD;AACE,YAAA,OAAO,eACL;AAAK,cAAA,uBAAuB,EAAE;AAAEkB,gBAAAA,MAAM,EAAEJ;AAAV;AAA9B;AAFJ,YALF,CADF,EAYGjB,aAAa,IAAIA,aAAa,CAACG,KAAD,CAA9B,iBACC,gCAAC,oBAAD;AAAU,YAAA,GAAG,aAAMA,KAAN;AAAb,0BACE,gCAAC,wBAAD;AACE,YAAA,SAAS,EAAEQ,OAAO,CAACS,SADrB;AAEE,YAAA,KAAK,EAAE;AAACE,cAAAA,UAAU,EAAE;AAAb,aAFT;AAGE,YAAA,OAAO,EAAE;AAHX,YADF,eAME,gCAAC,wBAAD;AACE,YAAA,OAAO,eACL;AAAK,cAAA,uBAAuB,EAAE;AAAED,gBAAAA,MAAM,EAAErB,aAAa,CAACG,KAAD;AAAvB;AAA9B;AAFJ,YANF,CAbJ,CADF;AA6BD,SAhCF,CADgB,CAAnB;;AAoCA,4BACE;AAAK,UAAA,SAAS,EAAEQ,OAAO,CAACY;AAAxB,WACG,CAACX,kBAAD,gBACC,gCAAC,iBAAD,CAAO,QAAP,qBACE,gCAAC,gBAAD;AAAM,UAAA,IAAI,EAAE,KAAKY,MAAjB;AAAyB,UAAA,OAAO,EAAE,KAAKhB;AAAvC,WACG,KAAKH,KAAL,CAAWE,UADd,YADF,eAIE,gCAAC,oBAAD;AAAU,gBAAI,KAAKF,KAAL,CAAWC,UAAzB;AAAqC,UAAA,OAAO,EAAC;AAA7C,WACGO,UADH,CAJF,CADD,GASGA,UAVN,CADF;AAeD,OAtDD,MAsDO;AACL,eAAO,IAAP;AACD;AACF;;;EA3FkBY,kBAAMC,S;;iCAArBzB,M,eAYe;AACjBU,EAAAA,OAAO,EAAElB,sBAAUkC,MAAV,CAAiBC,UADT;AAEjBhB,EAAAA,kBAAkB,EAAEnB,sBAAUG,IAFb;AAGjBQ,EAAAA,KAAK,EAAEZ;AAHU,C;;AAkFrB,IAAMqC,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBT,IAAAA,SAAS,EAAE;AACTU,MAAAA,IAAI,EAAE,UADG;AAETC,MAAAA,QAAQ,EAAE;AAFD;AADS,GAAP;AAAA,CAAf;;eAOe,wBAAWF,MAAX,EAAmB5B,MAAnB,C","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"}
package/lib/print.js ADDED
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
23
+
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+
26
+ var _react = _interopRequireDefault(require("react"));
27
+
28
+ var _reactDom = _interopRequireDefault(require("react-dom"));
29
+
30
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
31
+
32
+ var _main = _interopRequireDefault(require("./main"));
33
+
34
+ var _mathRendering = require("@pie-lib/math-rendering");
35
+
36
+ var _debug = _interopRequireDefault(require("debug"));
37
+
38
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
39
+
40
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
+
42
+ 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; }
43
+
44
+ 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; }
45
+
46
+ var log = (0, _debug["default"])('pie-element:rubric:print');
47
+
48
+ var preparePrintModel = function preparePrintModel(model, opts) {
49
+ var instr = opts.role === 'instructor';
50
+
51
+ if (!instr) {
52
+ return {};
53
+ }
54
+
55
+ model.value = _objectSpread({}, model);
56
+ model.mode = 'evaluate';
57
+ model.animationsDisabled = true;
58
+ return model;
59
+ };
60
+
61
+ var RubricPrint = /*#__PURE__*/function (_HTMLElement) {
62
+ (0, _inherits2["default"])(RubricPrint, _HTMLElement);
63
+
64
+ var _super = _createSuper(RubricPrint);
65
+
66
+ function RubricPrint() {
67
+ var _this;
68
+
69
+ (0, _classCallCheck2["default"])(this, RubricPrint);
70
+ _this = _super.call(this);
71
+ _this._options = null;
72
+ _this._model = null;
73
+ _this._session = [];
74
+ _this._rerender = (0, _debounce["default"])(function () {
75
+ if (_this._model && _this._session) {
76
+ var printModel = preparePrintModel(_this._model, _this._options);
77
+
78
+ var element = _this._options && /*#__PURE__*/_react["default"].createElement(_main["default"], _objectSpread({}, printModel));
79
+
80
+ _reactDom["default"].render(element, (0, _assertThisInitialized2["default"])(_this), function () {
81
+ log('render complete - render math');
82
+ (0, _mathRendering.renderMath)((0, _assertThisInitialized2["default"])(_this));
83
+ });
84
+ } else {
85
+ log('skip');
86
+ }
87
+ }, 50, {
88
+ leading: false,
89
+ trailing: true
90
+ });
91
+ return _this;
92
+ }
93
+
94
+ (0, _createClass2["default"])(RubricPrint, [{
95
+ key: "options",
96
+ set: function set(o) {
97
+ this._options = o;
98
+ }
99
+ }, {
100
+ key: "model",
101
+ set: function set(s) {
102
+ this._model = s;
103
+
104
+ this._rerender();
105
+ }
106
+ }, {
107
+ key: "connectedCallback",
108
+ value: function connectedCallback() {}
109
+ }]);
110
+ return RubricPrint;
111
+ }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
112
+
113
+ exports["default"] = RubricPrint;
114
+ //# sourceMappingURL=print.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/print.js"],"names":["log","preparePrintModel","model","opts","instr","role","value","mode","animationsDisabled","RubricPrint","_options","_model","_session","_rerender","printModel","element","React","createElement","Main","ReactDOM","render","leading","trailing","o","s","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,0BAAN,CAAZ;;AAEA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,KAAD,EAAQC,IAAR,EAAiB;AACzC,MAAMC,KAAK,GAAGD,IAAI,CAACE,IAAL,KAAc,YAA5B;;AAEA,MAAI,CAACD,KAAL,EAAY;AACV,WAAO,EAAP;AACD;;AAEDF,EAAAA,KAAK,CAACI,KAAN,qBAAmBJ,KAAnB;AACAA,EAAAA,KAAK,CAACK,IAAN,GAAa,UAAb;AACAL,EAAAA,KAAK,CAACM,kBAAN,GAA2B,IAA3B;AAEA,SAAON,KAAP;AACD,CAZD;;IAcqBO,W;;;;;AACnB,yBAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,QAAL,GAAgB,IAAhB;AACA,UAAKC,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,EAAhB;AACA,UAAKC,SAAL,GAAiB,0BACf,YAAM;AACJ,UAAI,MAAKF,MAAL,IAAe,MAAKC,QAAxB,EAAkC;AAChC,YAAME,UAAU,GAAGb,iBAAiB,CAAC,MAAKU,MAAN,EAAc,MAAKD,QAAnB,CAApC;;AAEA,YAAMK,OAAO,GACX,MAAKL,QAAL,iBACAM,kBAAMC,aAAN,CAAoBC,gBAApB,oBACKJ,UADL,EAFF;;AAMAK,6BAASC,MAAT,CAAgBL,OAAhB,kDAA+B,YAAM;AACnCf,UAAAA,GAAG,CAAC,+BAAD,CAAH;AACA;AACD,SAHD;AAID,OAbD,MAaO;AACLA,QAAAA,GAAG,CAAC,MAAD,CAAH;AACD;AACF,KAlBc,EAmBf,EAnBe,EAoBf;AAAEqB,MAAAA,OAAO,EAAE,KAAX;AAAkBC,MAAAA,QAAQ,EAAE;AAA5B,KApBe,CAAjB;AALY;AA2Bb;;;;SACD,aAAYC,CAAZ,EAAe;AACb,WAAKb,QAAL,GAAgBa,CAAhB;AACD;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKb,MAAL,GAAca,CAAd;;AACA,WAAKX,SAAL;AACD;;;WAED,6BAAoB,CAAE;;;kDAtCiBY,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport Main from './main';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport debug from 'debug';\n\nconst log = debug('pie-element:rubric:print');\n\nconst preparePrintModel = (model, opts) => {\n const instr = opts.role === 'instructor';\n\n if (!instr) {\n return {};\n }\n\n model.value = { ...model };\n model.mode = 'evaluate';\n model.animationsDisabled = true;\n\n return model;\n};\n\nexport default class RubricPrint extends HTMLElement {\n constructor() {\n super();\n this._options = null;\n this._model = null;\n this._session = [];\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n const printModel = preparePrintModel(this._model, this._options);\n\n const element =\n this._options &&\n React.createElement(Main, {\n ...printModel,\n });\n\n ReactDOM.render(element, this, () => {\n log('render complete - render math');\n renderMath(this);\n });\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true }\n );\n }\n set options(o) {\n this._options = o;\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n }\n\n connectedCallback() {}\n}\n"],"file":"print.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-element/rubric",
3
- "version": "1.6.5",
3
+ "version": "1.7.2",
4
4
  "main": "lib/index.js",
5
5
  "module": "src/index.js",
6
6
  "description": "Rubric Scoring Interaction",
@@ -14,8 +14,12 @@
14
14
  },
15
15
  "author": "pie framework developers",
16
16
  "license": "ISC",
17
- "gitHead": "5df8639d9e81211ec961ca9847c07ae708ed4374",
17
+ "gitHead": "25d4d90078b237c54893757434bb09258812b803",
18
18
  "scripts": {
19
19
  "postpublish": "../../scripts/postpublish"
20
+ },
21
+ "exports": {
22
+ ".": "./src/index.js",
23
+ "./print": "./src/print.js"
20
24
  }
21
25
  }
@@ -954,7 +954,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
954
954
  className="MuiList-root-47 MuiList-padding-48"
955
955
  >
956
956
  <WithStyles(ListItem)
957
- key="P0"
957
+ key="P3"
958
958
  >
959
959
  <ListItem
960
960
  ContainerComponent="li"
@@ -993,7 +993,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
993
993
  <WithStyles(ListItemText)
994
994
  className="Rubric-rubricCol-1"
995
995
  key=".0"
996
- primary="0 PTS"
996
+ primary="3 PTS"
997
997
  >
998
998
  <ListItemText
999
999
  className="Rubric-rubricCol-1"
@@ -1009,7 +1009,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
1009
1009
  }
1010
1010
  disableTypography={false}
1011
1011
  inset={false}
1012
- primary="0 PTS"
1012
+ primary="3 PTS"
1013
1013
  theme={
1014
1014
  Object {
1015
1015
  "breakpoints": Object {
@@ -1818,7 +1818,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
1818
1818
  <span
1819
1819
  className="MuiTypography-root-7 MuiTypography-subheading-14 MuiListItemText-primary-66"
1820
1820
  >
1821
- 0 PTS
1821
+ 3 PTS
1822
1822
  </span>
1823
1823
  </Typography>
1824
1824
  </WithStyles(Typography)>
@@ -1831,7 +1831,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
1831
1831
  <div
1832
1832
  dangerouslySetInnerHTML={
1833
1833
  Object {
1834
- "__html": "nothing right",
1834
+ "__html": "bingo",
1835
1835
  }
1836
1836
  }
1837
1837
  />
@@ -1854,7 +1854,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
1854
1854
  <div
1855
1855
  dangerouslySetInnerHTML={
1856
1856
  Object {
1857
- "__html": "nothing right",
1857
+ "__html": "bingo",
1858
1858
  }
1859
1859
  }
1860
1860
  />
@@ -2670,7 +2670,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
2670
2670
  <div
2671
2671
  dangerouslySetInnerHTML={
2672
2672
  Object {
2673
- "__html": "nothing right",
2673
+ "__html": "bingo",
2674
2674
  }
2675
2675
  }
2676
2676
  />
@@ -2685,7 +2685,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
2685
2685
  </ListItem>
2686
2686
  </WithStyles(ListItem)>
2687
2687
  <WithStyles(ListItem)
2688
- key="P1"
2688
+ key="P2"
2689
2689
  >
2690
2690
  <ListItem
2691
2691
  ContainerComponent="li"
@@ -2724,7 +2724,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
2724
2724
  <WithStyles(ListItemText)
2725
2725
  className="Rubric-rubricCol-1"
2726
2726
  key=".0"
2727
- primary="1 PTS"
2727
+ primary="2 PTS"
2728
2728
  >
2729
2729
  <ListItemText
2730
2730
  className="Rubric-rubricCol-1"
@@ -2740,7 +2740,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
2740
2740
  }
2741
2741
  disableTypography={false}
2742
2742
  inset={false}
2743
- primary="1 PTS"
2743
+ primary="2 PTS"
2744
2744
  theme={
2745
2745
  Object {
2746
2746
  "breakpoints": Object {
@@ -3549,7 +3549,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
3549
3549
  <span
3550
3550
  className="MuiTypography-root-7 MuiTypography-subheading-14 MuiListItemText-primary-66"
3551
3551
  >
3552
- 1 PTS
3552
+ 2 PTS
3553
3553
  </span>
3554
3554
  </Typography>
3555
3555
  </WithStyles(Typography)>
@@ -3562,7 +3562,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
3562
3562
  <div
3563
3563
  dangerouslySetInnerHTML={
3564
3564
  Object {
3565
- "__html": "a teeny bit right",
3565
+ "__html": "mostly right",
3566
3566
  }
3567
3567
  }
3568
3568
  />
@@ -3585,7 +3585,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
3585
3585
  <div
3586
3586
  dangerouslySetInnerHTML={
3587
3587
  Object {
3588
- "__html": "a teeny bit right",
3588
+ "__html": "mostly right",
3589
3589
  }
3590
3590
  }
3591
3591
  />
@@ -4401,7 +4401,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
4401
4401
  <div
4402
4402
  dangerouslySetInnerHTML={
4403
4403
  Object {
4404
- "__html": "a teeny bit right",
4404
+ "__html": "mostly right",
4405
4405
  }
4406
4406
  }
4407
4407
  />
@@ -4416,7 +4416,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
4416
4416
  </ListItem>
4417
4417
  </WithStyles(ListItem)>
4418
4418
  <WithStyles(ListItem)
4419
- key="S1"
4419
+ key="S2"
4420
4420
  >
4421
4421
  <ListItem
4422
4422
  ContainerComponent="li"
@@ -5308,7 +5308,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
5308
5308
  <div
5309
5309
  dangerouslySetInnerHTML={
5310
5310
  Object {
5311
- "__html": "just right",
5311
+ "__html": "not left",
5312
5312
  }
5313
5313
  }
5314
5314
  />
@@ -5331,7 +5331,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
5331
5331
  <div
5332
5332
  dangerouslySetInnerHTML={
5333
5333
  Object {
5334
- "__html": "just right",
5334
+ "__html": "not left",
5335
5335
  }
5336
5336
  }
5337
5337
  />
@@ -6147,7 +6147,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
6147
6147
  <div
6148
6148
  dangerouslySetInnerHTML={
6149
6149
  Object {
6150
- "__html": "just right",
6150
+ "__html": "not left",
6151
6151
  }
6152
6152
  }
6153
6153
  />
@@ -6162,7 +6162,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
6162
6162
  </ListItem>
6163
6163
  </WithStyles(ListItem)>
6164
6164
  <WithStyles(ListItem)
6165
- key="P2"
6165
+ key="P1"
6166
6166
  >
6167
6167
  <ListItem
6168
6168
  ContainerComponent="li"
@@ -6201,7 +6201,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
6201
6201
  <WithStyles(ListItemText)
6202
6202
  className="Rubric-rubricCol-1"
6203
6203
  key=".0"
6204
- primary="2 PTS"
6204
+ primary="1 PT"
6205
6205
  >
6206
6206
  <ListItemText
6207
6207
  className="Rubric-rubricCol-1"
@@ -6217,7 +6217,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
6217
6217
  }
6218
6218
  disableTypography={false}
6219
6219
  inset={false}
6220
- primary="2 PTS"
6220
+ primary="1 PT"
6221
6221
  theme={
6222
6222
  Object {
6223
6223
  "breakpoints": Object {
@@ -7026,7 +7026,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
7026
7026
  <span
7027
7027
  className="MuiTypography-root-7 MuiTypography-subheading-14 MuiListItemText-primary-66"
7028
7028
  >
7029
- 2 PTS
7029
+ 1 PT
7030
7030
  </span>
7031
7031
  </Typography>
7032
7032
  </WithStyles(Typography)>
@@ -7039,7 +7039,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
7039
7039
  <div
7040
7040
  dangerouslySetInnerHTML={
7041
7041
  Object {
7042
- "__html": "mostly right",
7042
+ "__html": "a teeny bit right",
7043
7043
  }
7044
7044
  }
7045
7045
  />
@@ -7062,7 +7062,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
7062
7062
  <div
7063
7063
  dangerouslySetInnerHTML={
7064
7064
  Object {
7065
- "__html": "mostly right",
7065
+ "__html": "a teeny bit right",
7066
7066
  }
7067
7067
  }
7068
7068
  />
@@ -7878,7 +7878,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
7878
7878
  <div
7879
7879
  dangerouslySetInnerHTML={
7880
7880
  Object {
7881
- "__html": "mostly right",
7881
+ "__html": "a teeny bit right",
7882
7882
  }
7883
7883
  }
7884
7884
  />
@@ -7893,7 +7893,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
7893
7893
  </ListItem>
7894
7894
  </WithStyles(ListItem)>
7895
7895
  <WithStyles(ListItem)
7896
- key="S2"
7896
+ key="S1"
7897
7897
  >
7898
7898
  <ListItem
7899
7899
  ContainerComponent="li"
@@ -8785,7 +8785,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
8785
8785
  <div
8786
8786
  dangerouslySetInnerHTML={
8787
8787
  Object {
8788
- "__html": "not left",
8788
+ "__html": "just right",
8789
8789
  }
8790
8790
  }
8791
8791
  />
@@ -8808,7 +8808,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
8808
8808
  <div
8809
8809
  dangerouslySetInnerHTML={
8810
8810
  Object {
8811
- "__html": "not left",
8811
+ "__html": "just right",
8812
8812
  }
8813
8813
  }
8814
8814
  />
@@ -9624,7 +9624,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
9624
9624
  <div
9625
9625
  dangerouslySetInnerHTML={
9626
9626
  Object {
9627
- "__html": "not left",
9627
+ "__html": "just right",
9628
9628
  }
9629
9629
  }
9630
9630
  />
@@ -9639,7 +9639,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
9639
9639
  </ListItem>
9640
9640
  </WithStyles(ListItem)>
9641
9641
  <WithStyles(ListItem)
9642
- key="P3"
9642
+ key="P0"
9643
9643
  >
9644
9644
  <ListItem
9645
9645
  ContainerComponent="li"
@@ -9678,7 +9678,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
9678
9678
  <WithStyles(ListItemText)
9679
9679
  className="Rubric-rubricCol-1"
9680
9680
  key=".0"
9681
- primary="3 PTS"
9681
+ primary="0 PTS"
9682
9682
  >
9683
9683
  <ListItemText
9684
9684
  className="Rubric-rubricCol-1"
@@ -9694,7 +9694,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
9694
9694
  }
9695
9695
  disableTypography={false}
9696
9696
  inset={false}
9697
- primary="3 PTS"
9697
+ primary="0 PTS"
9698
9698
  theme={
9699
9699
  Object {
9700
9700
  "breakpoints": Object {
@@ -10503,7 +10503,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
10503
10503
  <span
10504
10504
  className="MuiTypography-root-7 MuiTypography-subheading-14 MuiListItemText-primary-66"
10505
10505
  >
10506
- 3 PTS
10506
+ 0 PTS
10507
10507
  </span>
10508
10508
  </Typography>
10509
10509
  </WithStyles(Typography)>
@@ -10516,7 +10516,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
10516
10516
  <div
10517
10517
  dangerouslySetInnerHTML={
10518
10518
  Object {
10519
- "__html": "bingo",
10519
+ "__html": "nothing right",
10520
10520
  }
10521
10521
  }
10522
10522
  />
@@ -10539,7 +10539,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
10539
10539
  <div
10540
10540
  dangerouslySetInnerHTML={
10541
10541
  Object {
10542
- "__html": "bingo",
10542
+ "__html": "nothing right",
10543
10543
  }
10544
10544
  }
10545
10545
  />
@@ -11355,7 +11355,7 @@ exports[`rubric viewer expanded snapshot renders 1`] = `
11355
11355
  <div
11356
11356
  dangerouslySetInnerHTML={
11357
11357
  Object {
11358
- "__html": "bingo",
11358
+ "__html": "nothing right",
11359
11359
  }
11360
11360
  }
11361
11361
  />
@@ -12337,7 +12337,7 @@ exports[`rubric viewer snapshot renders 1`] = `
12337
12337
  className="MuiList-root-47 MuiList-padding-48"
12338
12338
  >
12339
12339
  <WithStyles(ListItem)
12340
- key="P0"
12340
+ key="P3"
12341
12341
  >
12342
12342
  <ListItem
12343
12343
  ContainerComponent="li"
@@ -12376,7 +12376,7 @@ exports[`rubric viewer snapshot renders 1`] = `
12376
12376
  <WithStyles(ListItemText)
12377
12377
  className="Rubric-rubricCol-1"
12378
12378
  key=".0"
12379
- primary="0 PTS"
12379
+ primary="3 PTS"
12380
12380
  >
12381
12381
  <ListItemText
12382
12382
  className="Rubric-rubricCol-1"
@@ -12392,7 +12392,7 @@ exports[`rubric viewer snapshot renders 1`] = `
12392
12392
  }
12393
12393
  disableTypography={false}
12394
12394
  inset={false}
12395
- primary="0 PTS"
12395
+ primary="3 PTS"
12396
12396
  theme={
12397
12397
  Object {
12398
12398
  "breakpoints": Object {
@@ -13201,7 +13201,7 @@ exports[`rubric viewer snapshot renders 1`] = `
13201
13201
  <span
13202
13202
  className="MuiTypography-root-7 MuiTypography-subheading-14 MuiListItemText-primary-66"
13203
13203
  >
13204
- 0 PTS
13204
+ 3 PTS
13205
13205
  </span>
13206
13206
  </Typography>
13207
13207
  </WithStyles(Typography)>
@@ -13214,7 +13214,7 @@ exports[`rubric viewer snapshot renders 1`] = `
13214
13214
  <div
13215
13215
  dangerouslySetInnerHTML={
13216
13216
  Object {
13217
- "__html": "nothing right",
13217
+ "__html": "bingo",
13218
13218
  }
13219
13219
  }
13220
13220
  />
@@ -13237,7 +13237,7 @@ exports[`rubric viewer snapshot renders 1`] = `
13237
13237
  <div
13238
13238
  dangerouslySetInnerHTML={
13239
13239
  Object {
13240
- "__html": "nothing right",
13240
+ "__html": "bingo",
13241
13241
  }
13242
13242
  }
13243
13243
  />
@@ -14053,7 +14053,7 @@ exports[`rubric viewer snapshot renders 1`] = `
14053
14053
  <div
14054
14054
  dangerouslySetInnerHTML={
14055
14055
  Object {
14056
- "__html": "nothing right",
14056
+ "__html": "bingo",
14057
14057
  }
14058
14058
  }
14059
14059
  />
@@ -14068,7 +14068,7 @@ exports[`rubric viewer snapshot renders 1`] = `
14068
14068
  </ListItem>
14069
14069
  </WithStyles(ListItem)>
14070
14070
  <WithStyles(ListItem)
14071
- key="P1"
14071
+ key="P2"
14072
14072
  >
14073
14073
  <ListItem
14074
14074
  ContainerComponent="li"
@@ -14107,7 +14107,7 @@ exports[`rubric viewer snapshot renders 1`] = `
14107
14107
  <WithStyles(ListItemText)
14108
14108
  className="Rubric-rubricCol-1"
14109
14109
  key=".0"
14110
- primary="1 PTS"
14110
+ primary="2 PTS"
14111
14111
  >
14112
14112
  <ListItemText
14113
14113
  className="Rubric-rubricCol-1"
@@ -14123,7 +14123,7 @@ exports[`rubric viewer snapshot renders 1`] = `
14123
14123
  }
14124
14124
  disableTypography={false}
14125
14125
  inset={false}
14126
- primary="1 PTS"
14126
+ primary="2 PTS"
14127
14127
  theme={
14128
14128
  Object {
14129
14129
  "breakpoints": Object {
@@ -14932,7 +14932,7 @@ exports[`rubric viewer snapshot renders 1`] = `
14932
14932
  <span
14933
14933
  className="MuiTypography-root-7 MuiTypography-subheading-14 MuiListItemText-primary-66"
14934
14934
  >
14935
- 1 PTS
14935
+ 2 PTS
14936
14936
  </span>
14937
14937
  </Typography>
14938
14938
  </WithStyles(Typography)>
@@ -14945,7 +14945,7 @@ exports[`rubric viewer snapshot renders 1`] = `
14945
14945
  <div
14946
14946
  dangerouslySetInnerHTML={
14947
14947
  Object {
14948
- "__html": "a teeny bit right",
14948
+ "__html": "mostly right",
14949
14949
  }
14950
14950
  }
14951
14951
  />
@@ -14968,7 +14968,7 @@ exports[`rubric viewer snapshot renders 1`] = `
14968
14968
  <div
14969
14969
  dangerouslySetInnerHTML={
14970
14970
  Object {
14971
- "__html": "a teeny bit right",
14971
+ "__html": "mostly right",
14972
14972
  }
14973
14973
  }
14974
14974
  />
@@ -15784,7 +15784,7 @@ exports[`rubric viewer snapshot renders 1`] = `
15784
15784
  <div
15785
15785
  dangerouslySetInnerHTML={
15786
15786
  Object {
15787
- "__html": "a teeny bit right",
15787
+ "__html": "mostly right",
15788
15788
  }
15789
15789
  }
15790
15790
  />
@@ -15799,7 +15799,7 @@ exports[`rubric viewer snapshot renders 1`] = `
15799
15799
  </ListItem>
15800
15800
  </WithStyles(ListItem)>
15801
15801
  <WithStyles(ListItem)
15802
- key="S1"
15802
+ key="S2"
15803
15803
  >
15804
15804
  <ListItem
15805
15805
  ContainerComponent="li"
@@ -16691,7 +16691,7 @@ exports[`rubric viewer snapshot renders 1`] = `
16691
16691
  <div
16692
16692
  dangerouslySetInnerHTML={
16693
16693
  Object {
16694
- "__html": "just right",
16694
+ "__html": "not left",
16695
16695
  }
16696
16696
  }
16697
16697
  />
@@ -16714,7 +16714,7 @@ exports[`rubric viewer snapshot renders 1`] = `
16714
16714
  <div
16715
16715
  dangerouslySetInnerHTML={
16716
16716
  Object {
16717
- "__html": "just right",
16717
+ "__html": "not left",
16718
16718
  }
16719
16719
  }
16720
16720
  />
@@ -17530,7 +17530,7 @@ exports[`rubric viewer snapshot renders 1`] = `
17530
17530
  <div
17531
17531
  dangerouslySetInnerHTML={
17532
17532
  Object {
17533
- "__html": "just right",
17533
+ "__html": "not left",
17534
17534
  }
17535
17535
  }
17536
17536
  />
@@ -17545,7 +17545,7 @@ exports[`rubric viewer snapshot renders 1`] = `
17545
17545
  </ListItem>
17546
17546
  </WithStyles(ListItem)>
17547
17547
  <WithStyles(ListItem)
17548
- key="P2"
17548
+ key="P1"
17549
17549
  >
17550
17550
  <ListItem
17551
17551
  ContainerComponent="li"
@@ -17584,7 +17584,7 @@ exports[`rubric viewer snapshot renders 1`] = `
17584
17584
  <WithStyles(ListItemText)
17585
17585
  className="Rubric-rubricCol-1"
17586
17586
  key=".0"
17587
- primary="2 PTS"
17587
+ primary="1 PT"
17588
17588
  >
17589
17589
  <ListItemText
17590
17590
  className="Rubric-rubricCol-1"
@@ -17600,7 +17600,7 @@ exports[`rubric viewer snapshot renders 1`] = `
17600
17600
  }
17601
17601
  disableTypography={false}
17602
17602
  inset={false}
17603
- primary="2 PTS"
17603
+ primary="1 PT"
17604
17604
  theme={
17605
17605
  Object {
17606
17606
  "breakpoints": Object {
@@ -18409,7 +18409,7 @@ exports[`rubric viewer snapshot renders 1`] = `
18409
18409
  <span
18410
18410
  className="MuiTypography-root-7 MuiTypography-subheading-14 MuiListItemText-primary-66"
18411
18411
  >
18412
- 2 PTS
18412
+ 1 PT
18413
18413
  </span>
18414
18414
  </Typography>
18415
18415
  </WithStyles(Typography)>
@@ -18422,7 +18422,7 @@ exports[`rubric viewer snapshot renders 1`] = `
18422
18422
  <div
18423
18423
  dangerouslySetInnerHTML={
18424
18424
  Object {
18425
- "__html": "mostly right",
18425
+ "__html": "a teeny bit right",
18426
18426
  }
18427
18427
  }
18428
18428
  />
@@ -18445,7 +18445,7 @@ exports[`rubric viewer snapshot renders 1`] = `
18445
18445
  <div
18446
18446
  dangerouslySetInnerHTML={
18447
18447
  Object {
18448
- "__html": "mostly right",
18448
+ "__html": "a teeny bit right",
18449
18449
  }
18450
18450
  }
18451
18451
  />
@@ -19261,7 +19261,7 @@ exports[`rubric viewer snapshot renders 1`] = `
19261
19261
  <div
19262
19262
  dangerouslySetInnerHTML={
19263
19263
  Object {
19264
- "__html": "mostly right",
19264
+ "__html": "a teeny bit right",
19265
19265
  }
19266
19266
  }
19267
19267
  />
@@ -19276,7 +19276,7 @@ exports[`rubric viewer snapshot renders 1`] = `
19276
19276
  </ListItem>
19277
19277
  </WithStyles(ListItem)>
19278
19278
  <WithStyles(ListItem)
19279
- key="S2"
19279
+ key="S1"
19280
19280
  >
19281
19281
  <ListItem
19282
19282
  ContainerComponent="li"
@@ -20168,7 +20168,7 @@ exports[`rubric viewer snapshot renders 1`] = `
20168
20168
  <div
20169
20169
  dangerouslySetInnerHTML={
20170
20170
  Object {
20171
- "__html": "not left",
20171
+ "__html": "just right",
20172
20172
  }
20173
20173
  }
20174
20174
  />
@@ -20191,7 +20191,7 @@ exports[`rubric viewer snapshot renders 1`] = `
20191
20191
  <div
20192
20192
  dangerouslySetInnerHTML={
20193
20193
  Object {
20194
- "__html": "not left",
20194
+ "__html": "just right",
20195
20195
  }
20196
20196
  }
20197
20197
  />
@@ -21007,7 +21007,7 @@ exports[`rubric viewer snapshot renders 1`] = `
21007
21007
  <div
21008
21008
  dangerouslySetInnerHTML={
21009
21009
  Object {
21010
- "__html": "not left",
21010
+ "__html": "just right",
21011
21011
  }
21012
21012
  }
21013
21013
  />
@@ -21022,7 +21022,7 @@ exports[`rubric viewer snapshot renders 1`] = `
21022
21022
  </ListItem>
21023
21023
  </WithStyles(ListItem)>
21024
21024
  <WithStyles(ListItem)
21025
- key="P3"
21025
+ key="P0"
21026
21026
  >
21027
21027
  <ListItem
21028
21028
  ContainerComponent="li"
@@ -21061,7 +21061,7 @@ exports[`rubric viewer snapshot renders 1`] = `
21061
21061
  <WithStyles(ListItemText)
21062
21062
  className="Rubric-rubricCol-1"
21063
21063
  key=".0"
21064
- primary="3 PTS"
21064
+ primary="0 PTS"
21065
21065
  >
21066
21066
  <ListItemText
21067
21067
  className="Rubric-rubricCol-1"
@@ -21077,7 +21077,7 @@ exports[`rubric viewer snapshot renders 1`] = `
21077
21077
  }
21078
21078
  disableTypography={false}
21079
21079
  inset={false}
21080
- primary="3 PTS"
21080
+ primary="0 PTS"
21081
21081
  theme={
21082
21082
  Object {
21083
21083
  "breakpoints": Object {
@@ -21886,7 +21886,7 @@ exports[`rubric viewer snapshot renders 1`] = `
21886
21886
  <span
21887
21887
  className="MuiTypography-root-7 MuiTypography-subheading-14 MuiListItemText-primary-66"
21888
21888
  >
21889
- 3 PTS
21889
+ 0 PTS
21890
21890
  </span>
21891
21891
  </Typography>
21892
21892
  </WithStyles(Typography)>
@@ -21899,7 +21899,7 @@ exports[`rubric viewer snapshot renders 1`] = `
21899
21899
  <div
21900
21900
  dangerouslySetInnerHTML={
21901
21901
  Object {
21902
- "__html": "bingo",
21902
+ "__html": "nothing right",
21903
21903
  }
21904
21904
  }
21905
21905
  />
@@ -21922,7 +21922,7 @@ exports[`rubric viewer snapshot renders 1`] = `
21922
21922
  <div
21923
21923
  dangerouslySetInnerHTML={
21924
21924
  Object {
21925
- "__html": "bingo",
21925
+ "__html": "nothing right",
21926
21926
  }
21927
21927
  }
21928
21928
  />
@@ -22738,7 +22738,7 @@ exports[`rubric viewer snapshot renders 1`] = `
22738
22738
  <div
22739
22739
  dangerouslySetInnerHTML={
22740
22740
  Object {
22741
- "__html": "bingo",
22741
+ "__html": "nothing right",
22742
22742
  }
22743
22743
  }
22744
22744
  />
package/src/main.jsx CHANGED
@@ -27,6 +27,7 @@ class Rubric extends React.Component {
27
27
 
28
28
  static propTypes = {
29
29
  classes: PropTypes.object.isRequired,
30
+ animationsDisabled: PropTypes.bool,
30
31
  value: RubricType,
31
32
  };
32
33
 
@@ -44,52 +45,60 @@ class Rubric extends React.Component {
44
45
  };
45
46
 
46
47
  render() {
47
- const { value, classes } = this.props;
48
+ const { value, classes, animationsDisabled } = this.props;
48
49
 
49
50
  if (value && value.points) {
50
51
  const { points, sampleAnswers } = value;
51
52
 
53
+ const rubricList = <List component="nav">
54
+ {points.slice(0).reverse().map(
55
+ (desc, index) => {
56
+ index = points.length - index - 1;
57
+ return this.shouldRenderPoint(index, value) && (
58
+ <React.Fragment key={index}>
59
+ <ListItem key={`P${index}`}>
60
+ <ListItemText
61
+ className={classes.rubricCol}
62
+ primary={index === 1 ? `${index} PT` : `${index} PTS`}
63
+ />
64
+ <ListItemText
65
+ primary={
66
+ <div dangerouslySetInnerHTML={{ __html: desc }} />
67
+ }
68
+ />
69
+ </ListItem>
70
+ {sampleAnswers && sampleAnswers[index] && (
71
+ <ListItem key={`S${index}`}>
72
+ <ListItemText
73
+ className={classes.rubricCol}
74
+ style={{marginLeft: '20px'}}
75
+ primary={'Sample Answer'}
76
+ />
77
+ <ListItemText
78
+ primary={
79
+ <div dangerouslySetInnerHTML={{ __html: sampleAnswers[index] }} />
80
+ }
81
+ />
82
+ </ListItem>
83
+ )}
84
+ </React.Fragment>
85
+ )
86
+ })}
87
+ </List>;
88
+
52
89
  return (
53
90
  <div className={classes.root}>
54
- <Link href={this.dudUrl} onClick={this.toggleRubric}>
55
- {this.state.linkPrefix} Rubric
56
- </Link>
57
- <Collapse in={this.state.rubricOpen} timeout="auto">
58
- <List component="nav">
59
- {points.map(
60
- (desc, index) =>
61
- this.shouldRenderPoint(index, value) && (
62
- <React.Fragment key={index}>
63
- <ListItem key={`P${index}`}>
64
- <ListItemText
65
- className={classes.rubricCol}
66
- primary={`${index} PTS`}
67
- />
68
- <ListItemText
69
- primary={
70
- <div dangerouslySetInnerHTML={{ __html: desc }} />
71
- }
72
- />
73
- </ListItem>
74
- {sampleAnswers && sampleAnswers[index] && sampleAnswers[index] !== 'null' && (
75
- <ListItem key={`S${index}`}>
76
- <ListItemText
77
- className={classes.rubricCol}
78
- style={{marginLeft: '20px'}}
79
- primary={'Sample Answer'}
80
- />
81
- <ListItemText
82
- primary={
83
- <div dangerouslySetInnerHTML={{ __html: sampleAnswers[index] }} />
84
- }
85
- />
86
- </ListItem>
87
- )}
88
- </React.Fragment>
89
- )
90
- )}
91
- </List>
92
- </Collapse>
91
+ {!animationsDisabled ?
92
+ <React.Fragment>
93
+ <Link href={this.dudUrl} onClick={this.toggleRubric}>
94
+ {this.state.linkPrefix} Rubric
95
+ </Link>
96
+ <Collapse in={this.state.rubricOpen} timeout="auto">
97
+ {rubricList}
98
+ </Collapse>
99
+ </React.Fragment>
100
+ : rubricList
101
+ }
93
102
  </div>
94
103
  );
95
104
  } else {
@@ -101,6 +110,7 @@ class Rubric extends React.Component {
101
110
  const styles = () => ({
102
111
  rubricCol: {
103
112
  flex: '0 1 auto',
113
+ minWidth: 'fit-content'
104
114
  },
105
115
  });
106
116
 
package/src/print.js ADDED
@@ -0,0 +1,63 @@
1
+ import React from 'react';
2
+ import ReactDOM from 'react-dom';
3
+ import debounce from 'lodash/debounce';
4
+ import Main from './main';
5
+ import { renderMath } from '@pie-lib/math-rendering';
6
+ import debug from 'debug';
7
+
8
+ const log = debug('pie-element:rubric:print');
9
+
10
+ const preparePrintModel = (model, opts) => {
11
+ const instr = opts.role === 'instructor';
12
+
13
+ if (!instr) {
14
+ return {};
15
+ }
16
+
17
+ model.value = { ...model };
18
+ model.mode = 'evaluate';
19
+ model.animationsDisabled = true;
20
+
21
+ return model;
22
+ };
23
+
24
+ export default class RubricPrint extends HTMLElement {
25
+ constructor() {
26
+ super();
27
+ this._options = null;
28
+ this._model = null;
29
+ this._session = [];
30
+ this._rerender = debounce(
31
+ () => {
32
+ if (this._model && this._session) {
33
+ const printModel = preparePrintModel(this._model, this._options);
34
+
35
+ const element =
36
+ this._options &&
37
+ React.createElement(Main, {
38
+ ...printModel,
39
+ });
40
+
41
+ ReactDOM.render(element, this, () => {
42
+ log('render complete - render math');
43
+ renderMath(this);
44
+ });
45
+ } else {
46
+ log('skip');
47
+ }
48
+ },
49
+ 50,
50
+ { leading: false, trailing: true }
51
+ );
52
+ }
53
+ set options(o) {
54
+ this._options = o;
55
+ }
56
+
57
+ set model(s) {
58
+ this._model = s;
59
+ this._rerender();
60
+ }
61
+
62
+ connectedCallback() {}
63
+ }