@pie-element/rubric 1.6.5 → 1.6.6

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,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.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
+
8
+ **Note:** Version bump only for package @pie-element/rubric
9
+
10
+
11
+
12
+
13
+
6
14
  ## [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
15
 
8
16
  **Note:** Version bump only for package @pie-element/rubric
package/lib/main.js CHANGED
@@ -92,20 +92,14 @@ 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
104
  }, points.map(function (desc, index) {
111
105
  return _this2.shouldRenderPoint(index, value) && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
@@ -136,7 +130,17 @@ var Rubric = /*#__PURE__*/function (_React$Component) {
136
130
  }
137
131
  })
138
132
  })));
139
- }))));
133
+ }));
134
+
135
+ return /*#__PURE__*/_react["default"].createElement("div", {
136
+ className: classes.root
137
+ }, !animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
138
+ href: this.dudUrl,
139
+ onClick: this.toggleRubric
140
+ }, this.state.linkPrefix, " Rubric"), /*#__PURE__*/_react["default"].createElement(_Collapse["default"], {
141
+ "in": this.state.rubricOpen,
142
+ timeout: "auto"
143
+ }, rubricList)) : rubricList);
140
144
  } else {
141
145
  return null;
142
146
  }
@@ -147,6 +151,7 @@ var Rubric = /*#__PURE__*/function (_React$Component) {
147
151
 
148
152
  (0, _defineProperty2["default"])(Rubric, "propTypes", {
149
153
  classes: _propTypes["default"].object.isRequired,
154
+ animationsDisabled: _propTypes["default"].bool,
150
155
  value: RubricType
151
156
  });
152
157
 
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","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"}
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.6.6",
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": "39691eb79f1f5ece91c831add33b05871b20828b",
18
18
  "scripts": {
19
19
  "postpublish": "../../scripts/postpublish"
20
+ },
21
+ "exports": {
22
+ ".": "./src/index.js",
23
+ "./print": "./src/print.js"
20
24
  }
21
25
  }
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,61 @@ 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 = (
54
+ <List component="nav">
55
+ {points.map(
56
+ (desc, index) =>
57
+ this.shouldRenderPoint(index, value) && (
58
+ <React.Fragment key={index}>
59
+ <ListItem key={`P${index}`}>
60
+ <ListItemText
61
+ className={classes.rubricCol}
62
+ primary={`${index} PTS`}
63
+ />
64
+ <ListItemText
65
+ primary={
66
+ <div dangerouslySetInnerHTML={{ __html: desc }}/>
67
+ }
68
+ />
69
+ </ListItem>
70
+ {sampleAnswers && sampleAnswers[index] && sampleAnswers[index] !== 'null' && (
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
+ );
89
+
52
90
  return (
53
91
  <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>
92
+ {!animationsDisabled ?
93
+ <React.Fragment>
94
+ <Link href={this.dudUrl} onClick={this.toggleRubric}>
95
+ {this.state.linkPrefix} Rubric
96
+ </Link>
97
+ <Collapse in={this.state.rubricOpen} timeout="auto">
98
+ {rubricList}
99
+ </Collapse>
100
+ </React.Fragment>
101
+ : rubricList
102
+ }
93
103
  </div>
94
104
  );
95
105
  } else {
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
+ }