@pie-element/complex-rubric 2.10.1-next.11 → 2.10.1-next.12

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 (115) hide show
  1. package/configure/package.json +2 -2
  2. package/controller/package.json +1 -1
  3. package/module/configure.js +233613 -0
  4. package/module/controller.js +379 -0
  5. package/module/demo.js +221 -0
  6. package/module/element.js +231245 -0
  7. package/module/index.html +21 -0
  8. package/module/manifest.json +14 -0
  9. package/module/print-demo.js +259 -0
  10. package/module/print.html +18 -0
  11. package/module/print.js +231217 -0
  12. package/package.json +4 -4
  13. package/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.json +0 -1
  14. package/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.md +0 -1383
  15. package/configure/node_modules/@pie-element/multi-trait-rubric/LICENSE.md +0 -5
  16. package/configure/node_modules/@pie-element/multi-trait-rubric/README.md +0 -55
  17. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/CHANGELOG.json +0 -1
  18. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/CHANGELOG.md +0 -1270
  19. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js +0 -584
  20. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js.map +0 -1
  21. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/defaults.js +0 -143
  22. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/defaults.js.map +0 -1
  23. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/index.js +0 -204
  24. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/index.js.map +0 -1
  25. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/main.js +0 -602
  26. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/main.js.map +0 -1
  27. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/modals.js +0 -361
  28. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/modals.js.map +0 -1
  29. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/scale.js +0 -556
  30. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/scale.js.map +0 -1
  31. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/trait.js +0 -380
  32. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/trait.js.map +0 -1
  33. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js +0 -296
  34. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js.map +0 -1
  35. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js +0 -14
  36. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js.map +0 -1
  37. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/package.json +0 -18
  38. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/CHANGELOG.json +0 -1
  39. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/CHANGELOG.md +0 -544
  40. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js +0 -94
  41. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js.map +0 -1
  42. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/index.js +0 -215
  43. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/index.js.map +0 -1
  44. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/utils.js +0 -13
  45. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/utils.js.map +0 -1
  46. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/package.json +0 -15
  47. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json +0 -803
  48. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json.md +0 -602
  49. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/config.js +0 -8
  50. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/generate.js +0 -180
  51. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/index.html +0 -1
  52. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/session.js +0 -6
  53. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json +0 -531
  54. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json.md +0 -374
  55. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js +0 -85
  56. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js.map +0 -1
  57. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js +0 -161
  58. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js.map +0 -1
  59. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/scale.js +0 -330
  60. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/scale.js.map +0 -1
  61. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/trait.js +0 -103
  62. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/trait.js.map +0 -1
  63. package/configure/node_modules/@pie-element/multi-trait-rubric/package.json +0 -24
  64. package/configure/node_modules/@pie-element/rubric/CHANGELOG.json +0 -257
  65. package/configure/node_modules/@pie-element/rubric/CHANGELOG.md +0 -1640
  66. package/configure/node_modules/@pie-element/rubric/LICENSE.md +0 -5
  67. package/configure/node_modules/@pie-element/rubric/README.md +0 -3
  68. package/configure/node_modules/@pie-element/rubric/configure/CHANGELOG.json +0 -197
  69. package/configure/node_modules/@pie-element/rubric/configure/CHANGELOG.md +0 -1471
  70. package/configure/node_modules/@pie-element/rubric/configure/lib/defaults.js +0 -59
  71. package/configure/node_modules/@pie-element/rubric/configure/lib/defaults.js.map +0 -1
  72. package/configure/node_modules/@pie-element/rubric/configure/lib/index.js +0 -194
  73. package/configure/node_modules/@pie-element/rubric/configure/lib/index.js.map +0 -1
  74. package/configure/node_modules/@pie-element/rubric/configure/lib/main.js +0 -160
  75. package/configure/node_modules/@pie-element/rubric/configure/lib/main.js.map +0 -1
  76. package/configure/node_modules/@pie-element/rubric/configure/lib/pie-toolbox-rubric/authoring.js +0 -555
  77. package/configure/node_modules/@pie-element/rubric/configure/lib/pie-toolbox-rubric/authoring.js.map +0 -1
  78. package/configure/node_modules/@pie-element/rubric/configure/lib/pie-toolbox-rubric/index.js +0 -24
  79. package/configure/node_modules/@pie-element/rubric/configure/lib/pie-toolbox-rubric/index.js.map +0 -1
  80. package/configure/node_modules/@pie-element/rubric/configure/lib/pie-toolbox-rubric/point-menu.js +0 -172
  81. package/configure/node_modules/@pie-element/rubric/configure/lib/pie-toolbox-rubric/point-menu.js.map +0 -1
  82. package/configure/node_modules/@pie-element/rubric/configure/package.json +0 -17
  83. package/configure/node_modules/@pie-element/rubric/configure/src/__tests__/index.test.jsx +0 -173
  84. package/configure/node_modules/@pie-element/rubric/configure/src/defaults.js +0 -39
  85. package/configure/node_modules/@pie-element/rubric/configure/src/index.js +0 -127
  86. package/configure/node_modules/@pie-element/rubric/configure/src/main.jsx +0 -87
  87. package/configure/node_modules/@pie-element/rubric/configure/src/pie-toolbox-rubric/authoring.jsx +0 -427
  88. package/configure/node_modules/@pie-element/rubric/configure/src/pie-toolbox-rubric/index.js +0 -9
  89. package/configure/node_modules/@pie-element/rubric/configure/src/pie-toolbox-rubric/point-menu.jsx +0 -94
  90. package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.json +0 -17
  91. package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.md +0 -536
  92. package/configure/node_modules/@pie-element/rubric/controller/lib/index.js +0 -51
  93. package/configure/node_modules/@pie-element/rubric/controller/lib/index.js.map +0 -1
  94. package/configure/node_modules/@pie-element/rubric/controller/package.json +0 -13
  95. package/configure/node_modules/@pie-element/rubric/controller/src/__tests__/index.test.js +0 -31
  96. package/configure/node_modules/@pie-element/rubric/controller/src/index.js +0 -42
  97. package/configure/node_modules/@pie-element/rubric/docs/config-schema.json +0 -382
  98. package/configure/node_modules/@pie-element/rubric/docs/config-schema.json.md +0 -292
  99. package/configure/node_modules/@pie-element/rubric/docs/demo/config.js +0 -8
  100. package/configure/node_modules/@pie-element/rubric/docs/demo/generate.js +0 -8
  101. package/configure/node_modules/@pie-element/rubric/docs/demo/index.html +0 -2
  102. package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json +0 -226
  103. package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json.md +0 -161
  104. package/configure/node_modules/@pie-element/rubric/lib/index.js +0 -88
  105. package/configure/node_modules/@pie-element/rubric/lib/index.js.map +0 -1
  106. package/configure/node_modules/@pie-element/rubric/lib/main.js +0 -187
  107. package/configure/node_modules/@pie-element/rubric/lib/main.js.map +0 -1
  108. package/configure/node_modules/@pie-element/rubric/lib/print.js +0 -114
  109. package/configure/node_modules/@pie-element/rubric/lib/print.js.map +0 -1
  110. package/configure/node_modules/@pie-element/rubric/package.json +0 -26
  111. package/configure/node_modules/@pie-element/rubric/src/__tests__/__snapshots__/rubric-view.test.jsx.snap +0 -23003
  112. package/configure/node_modules/@pie-element/rubric/src/__tests__/rubric-view.test.jsx +0 -50
  113. package/configure/node_modules/@pie-element/rubric/src/index.js +0 -34
  114. package/configure/node_modules/@pie-element/rubric/src/main.jsx +0 -136
  115. package/configure/node_modules/@pie-element/rubric/src/print.js +0 -63
@@ -1,50 +0,0 @@
1
- import {shallow, mount} from 'enzyme';
2
- import React from 'react';
3
- import Rubric from '../main';
4
- import Link from '@material-ui/core/Link';
5
-
6
- describe('rubric viewer', () => {
7
- const wrapper = (extras) => {
8
- const props = {
9
- value: {
10
- points: ['nothing right', 'a teeny bit right', 'mostly right', 'bingo'],
11
- sampleAnswers: [null, 'just right', 'not left', null],
12
- excludeZero: false,
13
- ...extras,
14
- },
15
- };
16
-
17
- return mount(<Rubric {...props} />);
18
- };
19
-
20
- describe('snapshot', () => {
21
- it('renders', () => {
22
- const w = wrapper();
23
- expect(w).toMatchSnapshot();
24
- });
25
- });
26
-
27
- describe('expanded snapshot', () => {
28
- it('renders', () => {
29
- const w = wrapper();
30
- w.find(Link).simulate('click');
31
- expect(w).toMatchSnapshot();
32
- });
33
- });
34
-
35
- describe('exclude zeros', () => {
36
- it('renders correctly with excluded zeroes', () => {
37
- let w = wrapper({
38
- excludeZero: true,
39
- points: ['a teeny bit right', 'mostly right', 'bingo'],
40
- sampleAnswers: ['just right', 'not left', null]
41
- });
42
- w.find(Link).simulate('click');
43
- expect(w.find('li').length).toEqual(5);
44
-
45
- w = wrapper({excludeZero: false});
46
- w.find(Link).simulate('click');
47
- expect(w.find('li').length).toEqual(6);
48
- });
49
- });
50
- });
@@ -1,34 +0,0 @@
1
- import Rubric from './main';
2
- import React from 'react';
3
- import ReactDOM from 'react-dom';
4
- import debug from 'debug';
5
-
6
- export default class RubricRender extends HTMLElement {
7
- constructor() {
8
- super();
9
- debug.log('constructor called');
10
- this.onModelChanged = this.onModelChanged.bind(this);
11
- }
12
-
13
- set model(s) {
14
- this._model = s;
15
- this._render();
16
- }
17
-
18
- onModelChanged(m) {
19
- this._model = m;
20
- this._render();
21
- }
22
-
23
- connectedCallback() {
24
- this._render();
25
- }
26
-
27
- _render() {
28
- if (this._model) {
29
- const el = <Rubric value={this._model} />;
30
-
31
- ReactDOM.render(el, this);
32
- }
33
- }
34
- }
@@ -1,136 +0,0 @@
1
- import React from 'react';
2
- import { withStyles } from '@material-ui/core/styles';
3
- import ListItem from '@material-ui/core/ListItem';
4
- import List from '@material-ui/core/List';
5
- import ListItemText from '@material-ui/core/ListItemText';
6
- import Link from '@material-ui/core/Link';
7
- import Collapse from '@material-ui/core/Collapse';
8
- import { color } from '@pie-lib/pie-toolbox/render-ui';
9
- import PropTypes from 'prop-types';
10
-
11
- export const RubricType = PropTypes.shape({
12
- excludeZero: PropTypes.bool,
13
- points: PropTypes.arrayOf(PropTypes.string),
14
- sampleAnswers: PropTypes.arrayOf(PropTypes.string),
15
- animationsDisabled: PropTypes.bool,
16
- });
17
-
18
- class Rubric extends React.Component {
19
- dudUrl = 'javascript:;';
20
-
21
- constructor(props) {
22
- super(props);
23
- this.state = {
24
- rubricOpen: false,
25
- linkPrefix: 'Show',
26
- };
27
- this.toggleRubric = this.toggleRubric.bind(this);
28
- }
29
-
30
- static propTypes = {
31
- classes: PropTypes.object.isRequired,
32
- animationsDisabled: PropTypes.bool,
33
- value: RubricType,
34
- };
35
-
36
- toggleRubric() {
37
- this.setState({ rubricOpen: !this.state.rubricOpen });
38
- this.setState({ linkPrefix: this.state.rubricOpen ? 'Show' : 'Hide' });
39
- }
40
-
41
- shouldRenderPoint = (index, value) => {
42
- if (!value.excludeZero) {
43
- return true;
44
- } else {
45
- return index !== 0;
46
- }
47
- };
48
-
49
- render() {
50
- const { value, classes } = this.props;
51
- let { animationsDisabled } = this.props;
52
- animationsDisabled = animationsDisabled || value.animationsDisabled;
53
-
54
- if (value && value.points) {
55
- const { points, sampleAnswers } = value;
56
-
57
- const rubricList = (
58
- <List component="nav">
59
- {points
60
- .slice(0)
61
- .reverse()
62
- .map((desc, index) => {
63
- index = points.length - index - 1;
64
- const pointsLabel = value.excludeZero ? index + 1: index;
65
-
66
- return (
67
- <React.Fragment key={index}>
68
- <ListItem key={`P${index}`}>
69
- <ListItemText
70
- className={classes.rubricCol}
71
- primary={<div className={classes.text}>{pointsLabel === 1 ? `${pointsLabel} PT` : `${pointsLabel} PTS`}</div>}
72
- />
73
-
74
- <ListItemText
75
- primary={<div className={classes.text} dangerouslySetInnerHTML={{ __html: desc }} />}
76
- />
77
- </ListItem>
78
-
79
- {sampleAnswers && sampleAnswers[index] && (
80
- <ListItem key={`S${index}`}>
81
- <ListItemText
82
- className={classes.rubricCol}
83
- style={{ marginLeft: '20px' }}
84
- primary={<div className={classes.text}>Sample Answer</div>}
85
- />
86
-
87
- <ListItemText
88
- primary={
89
- <div className={classes.text} dangerouslySetInnerHTML={{ __html: sampleAnswers[index] }} />
90
- }
91
- />
92
- </ListItem>
93
- )}
94
- </React.Fragment>
95
- );
96
- })}
97
- </List>
98
- );
99
-
100
- return (
101
- <div className={classes.root}>
102
- {!animationsDisabled ? (
103
- <React.Fragment>
104
- <Link href={this.dudUrl} onClick={this.toggleRubric}>
105
- {this.state.linkPrefix} Rubric
106
- </Link>
107
- <Collapse in={this.state.rubricOpen} timeout="auto">
108
- {rubricList}
109
- </Collapse>
110
- </React.Fragment>
111
- ) : (
112
- rubricList
113
- )}
114
- </div>
115
- );
116
- } else {
117
- return null;
118
- }
119
- }
120
- }
121
-
122
- const styles = () => ({
123
- root: {
124
- color: color.text(),
125
- backgroundColor: color.background(),
126
- },
127
- rubricCol: {
128
- flex: '0 1 auto',
129
- minWidth: 'fit-content',
130
- },
131
- text: {
132
- color: color.text(),
133
- },
134
- });
135
-
136
- export default withStyles(styles)(Rubric);
@@ -1,63 +0,0 @@
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/pie-toolbox/math-rendering-accessible';
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
- }