@pie-element/complex-rubric 6.0.0-beta.1 → 6.0.0-next.0

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 (124) hide show
  1. package/CHANGELOG.md +0 -11
  2. package/configure/CHANGELOG.md +0 -11
  3. package/configure/lib/defaults.js +9 -0
  4. package/configure/lib/defaults.js.map +1 -1
  5. package/configure/lib/index.js +8 -8
  6. package/configure/lib/index.js.map +1 -1
  7. package/configure/package.json +9 -9
  8. package/configure/src/__tests__/index.test.js +15 -0
  9. package/configure/src/__tests__/main.test.jsx +7 -0
  10. package/configure/src/defaults.js +3 -0
  11. package/configure/src/index.js +1 -1
  12. package/controller/package.json +1 -1
  13. package/module/configure.js +1 -0
  14. package/module/controller.js +262 -0
  15. package/module/demo.js +221 -0
  16. package/module/element.js +1 -0
  17. package/module/index.html +21 -0
  18. package/module/manifest.json +22 -0
  19. package/module/print-demo.js +259 -0
  20. package/module/print.html +18 -0
  21. package/module/print.js +1 -0
  22. package/package.json +10 -6
  23. package/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.json +0 -1
  24. package/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.md +0 -2491
  25. package/configure/node_modules/@pie-element/multi-trait-rubric/README.md +0 -55
  26. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/CHANGELOG.json +0 -1
  27. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/CHANGELOG.md +0 -2333
  28. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js +0 -429
  29. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js.map +0 -1
  30. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/defaults.js +0 -181
  31. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/defaults.js.map +0 -1
  32. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/index.js +0 -157
  33. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/index.js.map +0 -1
  34. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/main.js +0 -455
  35. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/main.js.map +0 -1
  36. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/modals.js +0 -206
  37. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/modals.js.map +0 -1
  38. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/scale.js +0 -451
  39. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/scale.js.map +0 -1
  40. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/trait.js +0 -275
  41. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/trait.js.map +0 -1
  42. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js +0 -233
  43. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js.map +0 -1
  44. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js +0 -87
  45. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js.map +0 -1
  46. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/package.json +0 -24
  47. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/CHANGELOG.json +0 -1
  48. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/CHANGELOG.md +0 -1571
  49. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js +0 -18
  50. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js.map +0 -1
  51. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/index.js +0 -158
  52. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/index.js.map +0 -1
  53. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/utils.js +0 -11
  54. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/utils.js.map +0 -1
  55. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/package.json +0 -14
  56. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json +0 -1628
  57. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json.md +0 -1202
  58. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/config.js +0 -8
  59. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/generate.js +0 -117
  60. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/index.html +0 -1
  61. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/session.js +0 -6
  62. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json +0 -861
  63. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json.md +0 -614
  64. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js +0 -54
  65. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js.map +0 -1
  66. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js +0 -123
  67. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js.map +0 -1
  68. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/scale.js +0 -248
  69. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/scale.js.map +0 -1
  70. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/trait.js +0 -83
  71. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/trait.js.map +0 -1
  72. package/configure/node_modules/@pie-element/multi-trait-rubric/package.json +0 -32
  73. package/configure/node_modules/@pie-element/rubric/CHANGELOG.json +0 -257
  74. package/configure/node_modules/@pie-element/rubric/CHANGELOG.md +0 -2774
  75. package/configure/node_modules/@pie-element/rubric/README.md +0 -3
  76. package/configure/node_modules/@pie-element/rubric/configure/CHANGELOG.json +0 -197
  77. package/configure/node_modules/@pie-element/rubric/configure/CHANGELOG.md +0 -2541
  78. package/configure/node_modules/@pie-element/rubric/configure/lib/defaults.js +0 -67
  79. package/configure/node_modules/@pie-element/rubric/configure/lib/defaults.js.map +0 -1
  80. package/configure/node_modules/@pie-element/rubric/configure/lib/index.js +0 -135
  81. package/configure/node_modules/@pie-element/rubric/configure/lib/index.js.map +0 -1
  82. package/configure/node_modules/@pie-element/rubric/configure/lib/main.js +0 -103
  83. package/configure/node_modules/@pie-element/rubric/configure/lib/main.js.map +0 -1
  84. package/configure/node_modules/@pie-element/rubric/configure/package.json +0 -24
  85. package/configure/node_modules/@pie-element/rubric/configure/src/__tests__/index.test.jsx +0 -178
  86. package/configure/node_modules/@pie-element/rubric/configure/src/defaults.js +0 -42
  87. package/configure/node_modules/@pie-element/rubric/configure/src/index.js +0 -139
  88. package/configure/node_modules/@pie-element/rubric/configure/src/main.jsx +0 -87
  89. package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.json +0 -17
  90. package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.md +0 -1564
  91. package/configure/node_modules/@pie-element/rubric/controller/lib/defaults.js +0 -15
  92. package/configure/node_modules/@pie-element/rubric/controller/lib/defaults.js.map +0 -1
  93. package/configure/node_modules/@pie-element/rubric/controller/lib/index.js +0 -46
  94. package/configure/node_modules/@pie-element/rubric/controller/lib/index.js.map +0 -1
  95. package/configure/node_modules/@pie-element/rubric/controller/package.json +0 -12
  96. package/configure/node_modules/@pie-element/rubric/controller/src/__tests__/index.test.js +0 -33
  97. package/configure/node_modules/@pie-element/rubric/controller/src/defaults.js +0 -8
  98. package/configure/node_modules/@pie-element/rubric/controller/src/index.js +0 -41
  99. package/configure/node_modules/@pie-element/rubric/docs/config-schema.json +0 -712
  100. package/configure/node_modules/@pie-element/rubric/docs/config-schema.json.md +0 -532
  101. package/configure/node_modules/@pie-element/rubric/docs/demo/config.js +0 -8
  102. package/configure/node_modules/@pie-element/rubric/docs/demo/generate.js +0 -8
  103. package/configure/node_modules/@pie-element/rubric/docs/demo/index.html +0 -2
  104. package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json +0 -391
  105. package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json.md +0 -281
  106. package/configure/node_modules/@pie-element/rubric/lib/index.js +0 -52
  107. package/configure/node_modules/@pie-element/rubric/lib/index.js.map +0 -1
  108. package/configure/node_modules/@pie-element/rubric/lib/main.js +0 -210
  109. package/configure/node_modules/@pie-element/rubric/lib/main.js.map +0 -1
  110. package/configure/node_modules/@pie-element/rubric/lib/print.js +0 -71
  111. package/configure/node_modules/@pie-element/rubric/lib/print.js.map +0 -1
  112. package/configure/node_modules/@pie-element/rubric/package.json +0 -30
  113. package/configure/node_modules/@pie-element/rubric/src/__tests__/__snapshots__/rubric-view.test.jsx.snap +0 -2641
  114. package/configure/node_modules/@pie-element/rubric/src/__tests__/rubric-view.test.jsx +0 -49
  115. package/configure/node_modules/@pie-element/rubric/src/index.js +0 -48
  116. package/configure/node_modules/@pie-element/rubric/src/main.jsx +0 -226
  117. package/configure/node_modules/@pie-element/rubric/src/print.js +0 -74
  118. package/configure/node_modules/clsx/clsx.d.ts +0 -6
  119. package/configure/node_modules/clsx/dist/clsx.js +0 -1
  120. package/configure/node_modules/clsx/dist/clsx.m.js +0 -1
  121. package/configure/node_modules/clsx/dist/clsx.min.js +0 -1
  122. package/configure/node_modules/clsx/license +0 -9
  123. package/configure/node_modules/clsx/package.json +0 -37
  124. package/configure/node_modules/clsx/readme.md +0 -88
@@ -1,139 +0,0 @@
1
- import { ModelUpdatedEvent, InsertImageEvent, DeleteImageEvent } from '@pie-framework/pie-configure-events';
2
- import React from 'react';
3
- import { createRoot } from 'react-dom/client';
4
- import debug from 'debug';
5
-
6
- import Main from './main';
7
- import defaults from './defaults';
8
-
9
- const modelWithDefaults = (m) => ({ ...defaults.model, ...m });
10
-
11
- const configurationWithDefaults = (c) => ({ ...defaults.configuration, ...c });
12
-
13
- export default class RubricElement extends HTMLElement {
14
- constructor() {
15
- super();
16
- this._root = null;
17
- debug.log('constructor called');
18
- this._model = modelWithDefaults();
19
- this._configuration = configurationWithDefaults();
20
- this.onModelChanged = this.onModelChanged.bind(this);
21
- this.onConfigurationChanged = this.onConfigurationChanged.bind(this);
22
- }
23
-
24
- updateModelAccordingToReceivedProps = (nextModel) => {
25
- const currentModel = { ...this._model };
26
-
27
- if (!nextModel) {
28
- return currentModel;
29
- }
30
-
31
- const validatedModel = { ...nextModel };
32
-
33
- // excludeZero should be false and disabled when maxPoints is 1
34
- if (validatedModel.maxPoints === 1) {
35
- validatedModel.excludeZero = false;
36
- }
37
-
38
- const { maxPoints, excludeZero } = validatedModel || {};
39
-
40
- validatedModel.points = validatedModel.points ? [...validatedModel.points] : [];
41
- validatedModel.sampleAnswers = validatedModel.sampleAnswers ? [...validatedModel.sampleAnswers] : [];
42
-
43
- const howManyPointsShouldHave = excludeZero ? maxPoints : maxPoints + 1;
44
- const howManyPointsDoesItHave = validatedModel.points.length;
45
-
46
- const excludeZeroChanged = currentModel?.excludeZero !== nextModel?.excludeZero;
47
- const maxPointsChanged = currentModel?.maxPoints !== nextModel?.maxPoints;
48
-
49
- if (howManyPointsDoesItHave < howManyPointsShouldHave) {
50
- if (excludeZeroChanged && !excludeZero) {
51
- validatedModel.points = ['', ...validatedModel.points];
52
- validatedModel.sampleAnswers = [null, ...validatedModel.sampleAnswers];
53
- }
54
-
55
- if (maxPointsChanged) {
56
- for (let i = 0; i < howManyPointsShouldHave - howManyPointsDoesItHave; i++) {
57
- validatedModel.points.push('');
58
- validatedModel.sampleAnswers.push(null);
59
- }
60
- }
61
- } else if (howManyPointsDoesItHave > howManyPointsShouldHave) {
62
- if (excludeZeroChanged && excludeZero) {
63
- validatedModel.points = validatedModel.points.slice(1);
64
- validatedModel.sampleAnswers = validatedModel.sampleAnswers.slice(1);
65
- }
66
-
67
- if (maxPointsChanged) {
68
- validatedModel.points = validatedModel.points.slice(0, howManyPointsShouldHave);
69
- validatedModel.sampleAnswers = validatedModel.sampleAnswers.slice(0, howManyPointsShouldHave);
70
- }
71
- }
72
-
73
- return validatedModel;
74
- };
75
-
76
- set model(m) {
77
- this._model = this.updateModelAccordingToReceivedProps(modelWithDefaults(m));
78
- this._render();
79
- }
80
-
81
- set configuration(c) {
82
- this._configuration = configurationWithDefaults(c);
83
- this._render();
84
- }
85
-
86
- onModelChanged(m) {
87
- this._model = this.updateModelAccordingToReceivedProps(m);
88
- this._render();
89
- this.dispatchEvent(new ModelUpdatedEvent(this._model, false));
90
- }
91
-
92
- onConfigurationChanged = (c) => {
93
- this._configuration = configurationWithDefaults(c);
94
-
95
- if (this._model) {
96
- this.onModelChanged(this._model);
97
- }
98
-
99
- this._render();
100
- };
101
-
102
- insertImage(handler) {
103
- this.dispatchEvent(new InsertImageEvent(handler));
104
- }
105
-
106
- onDeleteImage(src, done) {
107
- this.dispatchEvent(new DeleteImageEvent(src, done));
108
- }
109
-
110
- connectedCallback() {
111
- this._render();
112
- }
113
-
114
- _render() {
115
- if (this._model) {
116
- let element = React.createElement(Main, {
117
- model: this._model,
118
- configuration: this._configuration,
119
- onModelChanged: this.onModelChanged,
120
- onConfigurationChanged: this.onConfigurationChanged,
121
- imageSupport: {
122
- add: this.insertImage.bind(this),
123
- delete: this.onDeleteImage.bind(this),
124
- },
125
- });
126
-
127
- if (!this._root) {
128
- this._root = createRoot(this);
129
- }
130
- this._root.render(element);
131
- }
132
- }
133
-
134
- disconnectedCallback() {
135
- if (this._root) {
136
- this._root.unmount();
137
- }
138
- }
139
- }
@@ -1,87 +0,0 @@
1
- import React from 'react';
2
- import { Authoring } from '@pie-lib/rubric';
3
- import { styled } from '@mui/material/styles';
4
- import { layout, settings } from '@pie-lib/config-ui';
5
-
6
- const { Panel, toggle } = settings;
7
-
8
- const StyledDiv = styled('div')(({ theme, width }) => ({
9
- maxWidth: width,
10
- fontFamily: 'Cerebri Sans',
11
- fontSize: theme.typography.fontSize,
12
- }));
13
-
14
- class Main extends React.Component {
15
- verifyRubriclessModel = (m, config) => {
16
- const { rubricless = false } = config || {};
17
- return rubricless ? (({ points, sampleAnswers, ...rest }) => rest)(m) : m;
18
- };
19
-
20
- render() {
21
- const { model, configuration, onConfigurationChanged, onModelChanged, imageSupport } = this.props || {};
22
- const {
23
- baseInputConfiguration = {},
24
- contentDimensions = {},
25
- settingsPanelDisabled,
26
- showExcludeZero = {},
27
- showMaxPoint = {},
28
- mathMlOptions = {},
29
- rubricless = false,
30
- rubriclessInstruction,
31
- width,
32
- } = configuration || {};
33
-
34
- // ensure to eliminate points and sampleAnswers in case of rubricless
35
- const value = this.verifyRubriclessModel(model, configuration);
36
- const { extraCSSRules } = model;
37
-
38
- const panelProperties = {
39
- excludeZeroEnabled: showExcludeZero.settings && toggle(showExcludeZero.label),
40
- maxPointsEnabled: showMaxPoint.settings && toggle(showMaxPoint.label),
41
- rubriclessInstructionEnabled: rubricless && rubriclessInstruction.settings && toggle(rubriclessInstruction.label),
42
- };
43
-
44
- const getPluginProps = (props) => {
45
- return Object.assign(
46
- {
47
- ...baseInputConfiguration,
48
- },
49
- props || {},
50
- );
51
- };
52
-
53
- return (
54
- <layout.ConfigLayout
55
- extraCSSRules={extraCSSRules}
56
- dimensions={contentDimensions}
57
- hideSettings={settingsPanelDisabled}
58
- settings={
59
- <Panel
60
- model={model}
61
- onChangeModel={onModelChanged}
62
- configuration={configuration}
63
- onChangeConfiguration={onConfigurationChanged}
64
- pluginOpts={getPluginProps(rubriclessInstruction?.inputConfiguration)}
65
- groups={{
66
- Properties: panelProperties,
67
- }}
68
- imageSupport={imageSupport}
69
- />
70
- } >
71
- <StyledDiv width={width}>
72
- <Authoring
73
- value={value}
74
- config={configuration}
75
- onChange={onModelChanged}
76
- mathMlOptions={mathMlOptions}
77
- rubricless={rubricless}
78
- pluginOpts={baseInputConfiguration}
79
- imageSupport={imageSupport}
80
- />
81
- </StyledDiv>
82
- </layout.ConfigLayout>
83
- );
84
- }
85
- }
86
-
87
- export default Main;
@@ -1,17 +0,0 @@
1
- [
2
- {
3
- "type": "fix",
4
- "scope": null,
5
- "subject": "bump all packages to avoid tag conflict",
6
- "merge": null,
7
- "header": "fix: bump all packages to avoid tag conflict",
8
- "body": null,
9
- "footer": null,
10
- "notes": [],
11
- "hash": "d9ec9a8689f0a391594b5e2f4ea958c6dc9f6d7b",
12
- "gitTags": " (develop)",
13
- "committerDate": "2020-04-10 20:01:37 +0100",
14
- "isTagged": true,
15
- "tag": "@pie-element/rubric-controller@1.1.1"
16
- }
17
- ]