@pie-element/complex-rubric 2.1.2-next.44 → 2.1.2-next.57

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 (103) hide show
  1. package/configure/lib/defaults.js +4 -2
  2. package/configure/lib/defaults.js.map +1 -1
  3. package/configure/package.json +2 -2
  4. package/configure/src/defaults.js +2 -0
  5. package/controller/package.json +1 -1
  6. package/docs/config-schema.json +20 -0
  7. package/docs/config-schema.json.md +16 -0
  8. package/docs/pie-schema.json +10 -0
  9. package/docs/pie-schema.json.md +8 -0
  10. package/package.json +4 -4
  11. package/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.json +0 -1
  12. package/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.md +0 -1001
  13. package/configure/node_modules/@pie-element/multi-trait-rubric/LICENSE.md +0 -5
  14. package/configure/node_modules/@pie-element/multi-trait-rubric/README.md +0 -55
  15. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/CHANGELOG.json +0 -1
  16. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/CHANGELOG.md +0 -892
  17. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js +0 -563
  18. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js.map +0 -1
  19. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/defaults.js +0 -99
  20. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/defaults.js.map +0 -1
  21. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/index.js +0 -126
  22. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/index.js.map +0 -1
  23. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/main.js +0 -569
  24. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/main.js.map +0 -1
  25. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/modals.js +0 -361
  26. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/modals.js.map +0 -1
  27. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/scale.js +0 -560
  28. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/scale.js.map +0 -1
  29. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/trait.js +0 -374
  30. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/trait.js.map +0 -1
  31. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js +0 -283
  32. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js.map +0 -1
  33. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js +0 -29
  34. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js.map +0 -1
  35. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/package.json +0 -18
  36. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/CHANGELOG.json +0 -1
  37. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/CHANGELOG.md +0 -233
  38. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js +0 -94
  39. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js.map +0 -1
  40. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/index.js +0 -215
  41. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/index.js.map +0 -1
  42. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/utils.js +0 -13
  43. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/utils.js.map +0 -1
  44. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/package.json +0 -15
  45. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json +0 -272
  46. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json.md +0 -206
  47. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/config.js +0 -8
  48. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/generate.js +0 -180
  49. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/index.html +0 -1
  50. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/session.js +0 -6
  51. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json +0 -298
  52. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json.md +0 -201
  53. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js +0 -85
  54. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js.map +0 -1
  55. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js +0 -161
  56. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js.map +0 -1
  57. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/scale.js +0 -330
  58. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/scale.js.map +0 -1
  59. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/trait.js +0 -103
  60. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/trait.js.map +0 -1
  61. package/configure/node_modules/@pie-element/multi-trait-rubric/package.json +0 -24
  62. package/configure/node_modules/@pie-element/rubric/CHANGELOG.json +0 -257
  63. package/configure/node_modules/@pie-element/rubric/CHANGELOG.md +0 -1271
  64. package/configure/node_modules/@pie-element/rubric/LICENSE.md +0 -5
  65. package/configure/node_modules/@pie-element/rubric/README.md +0 -3
  66. package/configure/node_modules/@pie-element/rubric/configure/CHANGELOG.json +0 -197
  67. package/configure/node_modules/@pie-element/rubric/configure/CHANGELOG.md +0 -1111
  68. package/configure/node_modules/@pie-element/rubric/configure/lib/defaults.js +0 -34
  69. package/configure/node_modules/@pie-element/rubric/configure/lib/defaults.js.map +0 -1
  70. package/configure/node_modules/@pie-element/rubric/configure/lib/index.js +0 -130
  71. package/configure/node_modules/@pie-element/rubric/configure/lib/index.js.map +0 -1
  72. package/configure/node_modules/@pie-element/rubric/configure/lib/main.js +0 -108
  73. package/configure/node_modules/@pie-element/rubric/configure/lib/main.js.map +0 -1
  74. package/configure/node_modules/@pie-element/rubric/configure/package.json +0 -17
  75. package/configure/node_modules/@pie-element/rubric/configure/src/defaults.js +0 -26
  76. package/configure/node_modules/@pie-element/rubric/configure/src/index.js +0 -64
  77. package/configure/node_modules/@pie-element/rubric/configure/src/main.jsx +0 -56
  78. package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.json +0 -17
  79. package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.md +0 -215
  80. package/configure/node_modules/@pie-element/rubric/controller/lib/index.js +0 -45
  81. package/configure/node_modules/@pie-element/rubric/controller/lib/index.js.map +0 -1
  82. package/configure/node_modules/@pie-element/rubric/controller/package.json +0 -13
  83. package/configure/node_modules/@pie-element/rubric/controller/src/__tests__/index.test.js +0 -31
  84. package/configure/node_modules/@pie-element/rubric/controller/src/index.js +0 -38
  85. package/configure/node_modules/@pie-element/rubric/docs/config-schema.json +0 -160
  86. package/configure/node_modules/@pie-element/rubric/docs/config-schema.json.md +0 -127
  87. package/configure/node_modules/@pie-element/rubric/docs/demo/config.js +0 -8
  88. package/configure/node_modules/@pie-element/rubric/docs/demo/generate.js +0 -8
  89. package/configure/node_modules/@pie-element/rubric/docs/demo/index.html +0 -2
  90. package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json +0 -96
  91. package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json.md +0 -65
  92. package/configure/node_modules/@pie-element/rubric/lib/index.js +0 -88
  93. package/configure/node_modules/@pie-element/rubric/lib/index.js.map +0 -1
  94. package/configure/node_modules/@pie-element/rubric/lib/main.js +0 -188
  95. package/configure/node_modules/@pie-element/rubric/lib/main.js.map +0 -1
  96. package/configure/node_modules/@pie-element/rubric/lib/print.js +0 -114
  97. package/configure/node_modules/@pie-element/rubric/lib/print.js.map +0 -1
  98. package/configure/node_modules/@pie-element/rubric/package.json +0 -26
  99. package/configure/node_modules/@pie-element/rubric/src/__tests__/__snapshots__/rubric-view.test.jsx.snap +0 -23003
  100. package/configure/node_modules/@pie-element/rubric/src/__tests__/rubric-view.test.jsx +0 -46
  101. package/configure/node_modules/@pie-element/rubric/src/index.js +0 -34
  102. package/configure/node_modules/@pie-element/rubric/src/main.jsx +0 -136
  103. package/configure/node_modules/@pie-element/rubric/src/print.js +0 -63
@@ -1,46 +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 exluded zeroes', () => {
37
- let w = wrapper({ excludeZero: true });
38
- w.find(Link).simulate('click');
39
- expect(w.find('li').length).toEqual(5);
40
-
41
- w = wrapper({ excludeZero: false });
42
- w.find(Link).simulate('click');
43
- expect(w.find('li').length).toEqual(6);
44
- });
45
- });
46
- });
@@ -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
- return (
65
- this.shouldRenderPoint(index, value) && (
66
- <React.Fragment key={index}>
67
- <ListItem key={`P${index}`}>
68
- <ListItemText
69
- className={classes.rubricCol}
70
- primary={<div className={classes.text}>{index === 1 ? `${index} PT` : `${index} PTS`}</div>}
71
- />
72
-
73
- <ListItemText
74
- primary={<div className={classes.text} dangerouslySetInnerHTML={{ __html: desc }} />}
75
- />
76
- </ListItem>
77
-
78
- {sampleAnswers && sampleAnswers[index] && (
79
- <ListItem key={`S${index}`}>
80
- <ListItemText
81
- className={classes.rubricCol}
82
- style={{ marginLeft: '20px' }}
83
- primary={<div className={classes.text}>Sample Answer</div>}
84
- />
85
-
86
- <ListItemText
87
- primary={
88
- <div className={classes.text} dangerouslySetInnerHTML={{ __html: sampleAnswers[index] }} />
89
- }
90
- />
91
- </ListItem>
92
- )}
93
- </React.Fragment>
94
- )
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';
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
- }