@pie-element/complex-rubric 0.0.2-next.4424

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 (121) hide show
  1. package/LICENSE.md +5 -0
  2. package/README.md +3 -0
  3. package/configure/lib/defaults.js +99 -0
  4. package/configure/lib/defaults.js.map +1 -0
  5. package/configure/lib/index.js +232 -0
  6. package/configure/lib/index.js.map +1 -0
  7. package/configure/lib/main.js +165 -0
  8. package/configure/lib/main.js.map +1 -0
  9. package/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.json +1 -0
  10. package/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.md +376 -0
  11. package/configure/node_modules/@pie-element/multi-trait-rubric/LICENSE.md +5 -0
  12. package/configure/node_modules/@pie-element/multi-trait-rubric/README.md +55 -0
  13. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/CHANGELOG.json +1 -0
  14. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/CHANGELOG.md +344 -0
  15. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js +455 -0
  16. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js.map +1 -0
  17. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/defaults.js +82 -0
  18. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/defaults.js.map +1 -0
  19. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/index.js +112 -0
  20. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/index.js.map +1 -0
  21. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/main.js +438 -0
  22. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/main.js.map +1 -0
  23. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/modals.js +324 -0
  24. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/modals.js.map +1 -0
  25. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/scale.js +490 -0
  26. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/scale.js.map +1 -0
  27. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/trait.js +334 -0
  28. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/trait.js.map +1 -0
  29. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js +254 -0
  30. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js.map +1 -0
  31. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js +29 -0
  32. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js.map +1 -0
  33. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/package.json +22 -0
  34. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/CHANGELOG.json +1 -0
  35. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/CHANGELOG.md +66 -0
  36. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js +9 -0
  37. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js.map +1 -0
  38. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/index.js +122 -0
  39. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/index.js.map +1 -0
  40. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/package.json +15 -0
  41. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json +226 -0
  42. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json.md +169 -0
  43. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/config.js +8 -0
  44. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/generate.js +108 -0
  45. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/index.html +1 -0
  46. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/session.js +6 -0
  47. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json +282 -0
  48. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json.md +189 -0
  49. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js +85 -0
  50. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js.map +1 -0
  51. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js +99 -0
  52. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js.map +1 -0
  53. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/scale.js +209 -0
  54. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/scale.js.map +1 -0
  55. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/trait.js +103 -0
  56. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/trait.js.map +1 -0
  57. package/configure/node_modules/@pie-element/multi-trait-rubric/package.json +24 -0
  58. package/configure/node_modules/@pie-element/rubric/CHANGELOG.json +257 -0
  59. package/configure/node_modules/@pie-element/rubric/CHANGELOG.md +731 -0
  60. package/configure/node_modules/@pie-element/rubric/LICENSE.md +5 -0
  61. package/configure/node_modules/@pie-element/rubric/README.md +3 -0
  62. package/configure/node_modules/@pie-element/rubric/configure/CHANGELOG.json +197 -0
  63. package/configure/node_modules/@pie-element/rubric/configure/CHANGELOG.md +615 -0
  64. package/configure/node_modules/@pie-element/rubric/configure/lib/index.js +93 -0
  65. package/configure/node_modules/@pie-element/rubric/configure/lib/index.js.map +1 -0
  66. package/configure/node_modules/@pie-element/rubric/configure/package.json +16 -0
  67. package/configure/node_modules/@pie-element/rubric/configure/src/index.js +38 -0
  68. package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.json +17 -0
  69. package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.md +105 -0
  70. package/configure/node_modules/@pie-element/rubric/controller/lib/index.js +14 -0
  71. package/configure/node_modules/@pie-element/rubric/controller/lib/index.js.map +1 -0
  72. package/configure/node_modules/@pie-element/rubric/controller/package.json +9 -0
  73. package/configure/node_modules/@pie-element/rubric/controller/src/__tests__/index.test.js +35 -0
  74. package/configure/node_modules/@pie-element/rubric/controller/src/index.js +6 -0
  75. package/configure/node_modules/@pie-element/rubric/docs/config-schema.json +24 -0
  76. package/configure/node_modules/@pie-element/rubric/docs/config-schema.json.md +19 -0
  77. package/configure/node_modules/@pie-element/rubric/docs/demo/config.js +8 -0
  78. package/configure/node_modules/@pie-element/rubric/docs/demo/generate.js +8 -0
  79. package/configure/node_modules/@pie-element/rubric/docs/demo/index.html +3 -0
  80. package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json +62 -0
  81. package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json.md +35 -0
  82. package/configure/node_modules/@pie-element/rubric/lib/index.js +88 -0
  83. package/configure/node_modules/@pie-element/rubric/lib/index.js.map +1 -0
  84. package/configure/node_modules/@pie-element/rubric/lib/main.js +171 -0
  85. package/configure/node_modules/@pie-element/rubric/lib/main.js.map +1 -0
  86. package/configure/node_modules/@pie-element/rubric/lib/print.js +114 -0
  87. package/configure/node_modules/@pie-element/rubric/lib/print.js.map +1 -0
  88. package/configure/node_modules/@pie-element/rubric/package.json +25 -0
  89. package/configure/node_modules/@pie-element/rubric/src/__tests__/__snapshots__/rubric-view.test.jsx.snap +22767 -0
  90. package/configure/node_modules/@pie-element/rubric/src/__tests__/rubric-view.test.jsx +48 -0
  91. package/configure/node_modules/@pie-element/rubric/src/index.js +38 -0
  92. package/configure/node_modules/@pie-element/rubric/src/main.jsx +117 -0
  93. package/configure/node_modules/@pie-element/rubric/src/print.js +63 -0
  94. package/configure/package.json +22 -0
  95. package/configure/src/__tests__/__snapshots__/main.test.jsx.snap +106 -0
  96. package/configure/src/__tests__/index.test.js +41 -0
  97. package/configure/src/__tests__/main.test.jsx +104 -0
  98. package/configure/src/defaults.js +122 -0
  99. package/configure/src/index.js +138 -0
  100. package/configure/src/main.jsx +117 -0
  101. package/controller/lib/defaults.js +99 -0
  102. package/controller/lib/defaults.js.map +1 -0
  103. package/controller/lib/index.js +147 -0
  104. package/controller/lib/index.js.map +1 -0
  105. package/controller/package.json +12 -0
  106. package/controller/src/__tests__/index.test.js +58 -0
  107. package/controller/src/defaults.js +121 -0
  108. package/controller/src/index.js +81 -0
  109. package/docs/config-schema.json +427 -0
  110. package/docs/config-schema.json.md +315 -0
  111. package/docs/demo/config.js +8 -0
  112. package/docs/demo/generate.js +119 -0
  113. package/docs/demo/index.html +1 -0
  114. package/docs/demo/session.js +6 -0
  115. package/docs/pie-schema.json +994 -0
  116. package/docs/pie-schema.json.md +660 -0
  117. package/lib/index.js +176 -0
  118. package/lib/index.js.map +1 -0
  119. package/package.json +25 -0
  120. package/src/__tests__/index.test.js +166 -0
  121. package/src/index.js +106 -0
@@ -0,0 +1,171 @@
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"] = exports.RubricType = 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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
+
24
+ var _react = _interopRequireDefault(require("react"));
25
+
26
+ var _styles = require("@material-ui/core/styles");
27
+
28
+ var _ListItem = _interopRequireDefault(require("@material-ui/core/ListItem"));
29
+
30
+ var _List = _interopRequireDefault(require("@material-ui/core/List"));
31
+
32
+ var _ListItemText = _interopRequireDefault(require("@material-ui/core/ListItemText"));
33
+
34
+ var _Link = _interopRequireDefault(require("@material-ui/core/Link"));
35
+
36
+ var _Collapse = _interopRequireDefault(require("@material-ui/core/Collapse"));
37
+
38
+ var _propTypes = _interopRequireDefault(require("prop-types"));
39
+
40
+ 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); }; }
41
+
42
+ 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; } }
43
+
44
+ var RubricType = _propTypes["default"].shape({
45
+ excludeZero: _propTypes["default"].bool,
46
+ points: _propTypes["default"].arrayOf(_propTypes["default"].string),
47
+ sampleAnswers: _propTypes["default"].arrayOf(_propTypes["default"].string)
48
+ });
49
+
50
+ exports.RubricType = RubricType;
51
+
52
+ var Rubric = /*#__PURE__*/function (_React$Component) {
53
+ (0, _inherits2["default"])(Rubric, _React$Component);
54
+
55
+ var _super = _createSuper(Rubric);
56
+
57
+ function Rubric(props) {
58
+ var _this;
59
+
60
+ (0, _classCallCheck2["default"])(this, Rubric);
61
+ _this = _super.call(this, props);
62
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dudUrl", 'javascript:;');
63
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "shouldRenderPoint", function (index, value) {
64
+ if (!value.excludeZero) {
65
+ return true;
66
+ } else {
67
+ return index !== 0;
68
+ }
69
+ });
70
+ _this.state = {
71
+ rubricOpen: false,
72
+ linkPrefix: 'Show'
73
+ };
74
+ _this.toggleRubric = _this.toggleRubric.bind((0, _assertThisInitialized2["default"])(_this));
75
+ return _this;
76
+ }
77
+
78
+ (0, _createClass2["default"])(Rubric, [{
79
+ key: "toggleRubric",
80
+ value: function toggleRubric() {
81
+ this.setState({
82
+ rubricOpen: !this.state.rubricOpen
83
+ });
84
+ this.setState({
85
+ linkPrefix: this.state.rubricOpen ? 'Show' : 'Hide'
86
+ });
87
+ }
88
+ }, {
89
+ key: "render",
90
+ value: function render() {
91
+ var _this2 = this;
92
+
93
+ var _this$props = this.props,
94
+ value = _this$props.value,
95
+ classes = _this$props.classes,
96
+ animationsDisabled = _this$props.animationsDisabled;
97
+
98
+ if (value && value.points) {
99
+ var points = value.points,
100
+ sampleAnswers = value.sampleAnswers;
101
+
102
+ var rubricList = /*#__PURE__*/_react["default"].createElement(_List["default"], {
103
+ component: "nav"
104
+ }, points.slice(0).reverse().map(function (desc, index) {
105
+ index = points.length - index - 1;
106
+ return _this2.shouldRenderPoint(index, value) && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
107
+ key: index
108
+ }, /*#__PURE__*/_react["default"].createElement(_ListItem["default"], {
109
+ key: "P".concat(index)
110
+ }, /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], {
111
+ className: classes.rubricCol,
112
+ primary: index === 1 ? "".concat(index, " PT") : "".concat(index, " PTS")
113
+ }), /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], {
114
+ primary: /*#__PURE__*/_react["default"].createElement("div", {
115
+ dangerouslySetInnerHTML: {
116
+ __html: desc
117
+ }
118
+ })
119
+ })), sampleAnswers && sampleAnswers[index] && /*#__PURE__*/_react["default"].createElement(_ListItem["default"], {
120
+ key: "S".concat(index)
121
+ }, /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], {
122
+ className: classes.rubricCol,
123
+ style: {
124
+ marginLeft: '20px'
125
+ },
126
+ primary: 'Sample Answer'
127
+ }), /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], {
128
+ primary: /*#__PURE__*/_react["default"].createElement("div", {
129
+ dangerouslySetInnerHTML: {
130
+ __html: sampleAnswers[index]
131
+ }
132
+ })
133
+ })));
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);
145
+ } else {
146
+ return null;
147
+ }
148
+ }
149
+ }]);
150
+ return Rubric;
151
+ }(_react["default"].Component);
152
+
153
+ (0, _defineProperty2["default"])(Rubric, "propTypes", {
154
+ classes: _propTypes["default"].object.isRequired,
155
+ animationsDisabled: _propTypes["default"].bool,
156
+ value: RubricType
157
+ });
158
+
159
+ var styles = function styles() {
160
+ return {
161
+ rubricCol: {
162
+ flex: '0 1 auto',
163
+ minWidth: 'fit-content'
164
+ }
165
+ };
166
+ };
167
+
168
+ var _default = (0, _styles.withStyles)(styles)(Rubric);
169
+
170
+ exports["default"] = _default;
171
+ //# sourceMappingURL=main.js.map
@@ -0,0 +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","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"}
@@ -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); 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 = 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; }
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"}
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@pie-element/rubric",
3
+ "version": "2.0.10",
4
+ "main": "lib/index.js",
5
+ "module": "src/index.js",
6
+ "description": "Rubric Scoring Interaction",
7
+ "repository": "pie-framework/pie-elements",
8
+ "publishConfig": {
9
+ "access": "public"
10
+ },
11
+ "dependencies": {
12
+ "@material-ui/core": "^3.9.2",
13
+ "prop-types": "^15.7.2"
14
+ },
15
+ "author": "pie framework developers",
16
+ "license": "ISC",
17
+ "gitHead": "dec027da9b944f8ee4286ab27e27fb888f657155",
18
+ "scripts": {
19
+ "postpublish": "../../scripts/postpublish"
20
+ },
21
+ "exports": {
22
+ ".": "./src/index.js",
23
+ "./print": "./src/print.js"
24
+ }
25
+ }