@pie-element/complex-rubric 7.2.2-beta.6 → 7.2.2-beta.8

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/lib/print.js ADDED
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _rubric = _interopRequireDefault(require("@pie-element/rubric"));
9
+ var _multiTraitRubric = _interopRequireDefault(require("@pie-element/multi-trait-rubric"));
10
+ var _rubric2 = require("@pie-lib/rubric");
11
+ // here it is actually using rubric/src/index.js, instead of using rubric/src/print.js
12
+
13
+ // here it is actually using multi-trait-rubric/src/index.js, instead of using multi-trait-rubric/src/print.js
14
+
15
+ const RUBRIC_TAG_NAME = 'complex-rubric-simple';
16
+ const MULTI_TRAIT_RUBRIC_TAG_NAME = 'complex-rubric-multi-trait';
17
+ class ComplexRubricSimple extends _rubric.default {}
18
+ class ComplexRubricMultiTrait extends _multiTraitRubric.default {}
19
+ const rubricTags = {
20
+ [_rubric2.RUBRIC_TYPES.SIMPLE_RUBRIC]: `<${RUBRIC_TAG_NAME} id="simpleRubric" />`,
21
+ [_rubric2.RUBRIC_TYPES.RUBRICLESS]: `<${RUBRIC_TAG_NAME} id="rubricless" />`,
22
+ [_rubric2.RUBRIC_TYPES.MULTI_TRAIT_RUBRIC]: `<${MULTI_TRAIT_RUBRIC_TAG_NAME} id="multiTraitRubric" />`
23
+ };
24
+ const preparePrintModel = (model, opts) => {
25
+ const instr = opts.role === 'instructor';
26
+ if (!instr) {
27
+ return {};
28
+ }
29
+ model.mode = 'evaluate';
30
+ model.animationsDisabled = true;
31
+ return model;
32
+ };
33
+ const defineRubrics = () => {
34
+ if (!customElements.get(RUBRIC_TAG_NAME)) {
35
+ customElements.define(RUBRIC_TAG_NAME, ComplexRubricSimple);
36
+ }
37
+ if (!customElements.get(MULTI_TRAIT_RUBRIC_TAG_NAME)) {
38
+ customElements.define(MULTI_TRAIT_RUBRIC_TAG_NAME, ComplexRubricMultiTrait);
39
+ }
40
+ };
41
+ defineRubrics();
42
+ class ComplexRubricPrint extends HTMLElement {
43
+ constructor() {
44
+ super();
45
+ this._model = {};
46
+ this._type = _rubric2.RUBRIC_TYPES.SIMPLE_RUBRIC;
47
+ this._options = null;
48
+ }
49
+ set type(t) {
50
+ this._type = t;
51
+ }
52
+ get type() {
53
+ return this._type;
54
+ }
55
+ set model(m) {
56
+ this._model = m;
57
+ const oldType = this._type;
58
+ this.type = m.rubricType;
59
+ switch (this._type) {
60
+ case _rubric2.RUBRIC_TYPES.SIMPLE_RUBRIC:
61
+ default:
62
+ customElements.whenDefined(RUBRIC_TAG_NAME).then(() => {
63
+ this.setRubricModel(this.simpleRubric);
64
+ });
65
+ break;
66
+ case _rubric2.RUBRIC_TYPES.MULTI_TRAIT_RUBRIC:
67
+ customElements.whenDefined(MULTI_TRAIT_RUBRIC_TAG_NAME).then(() => {
68
+ this.setMultiTraitRubricModel(this.multiTraitRubric);
69
+ });
70
+ break;
71
+ case _rubric2.RUBRIC_TYPES.RUBRICLESS:
72
+ customElements.whenDefined(RUBRIC_TAG_NAME).then(() => {
73
+ this.setRubriclessModel(this.rubricless);
74
+ });
75
+ break;
76
+ }
77
+ if (oldType !== this.type) {
78
+ this._render();
79
+ }
80
+ }
81
+ setRubricModel(simpleRubric) {
82
+ if (this._model && this._model.rubrics && this._model.rubrics.simpleRubric) {
83
+ simpleRubric.model = preparePrintModel(this._model.rubrics.simpleRubric, this._options);
84
+ }
85
+ }
86
+ setMultiTraitRubricModel(multiTraitRubric) {
87
+ if (this._model && this._model.rubrics && this._model.rubrics.multiTraitRubric) {
88
+ const {
89
+ scales,
90
+ excludeZero
91
+ } = this._model.rubrics.multiTraitRubric || {};
92
+ const parsedScales = (scales || []).map(scale => ({
93
+ ...scale,
94
+ excludeZero
95
+ }));
96
+ multiTraitRubric.model = {
97
+ ...preparePrintModel(this._model.rubrics.multiTraitRubric, this._options),
98
+ visible: true,
99
+ arrowsDisabled: true,
100
+ scales: parsedScales
101
+ };
102
+ }
103
+ }
104
+ setRubriclessModel(rubricless) {
105
+ if (this._model && this._model.rubrics && this._model.rubrics.rubricless) {
106
+ rubricless.model = preparePrintModel(this._model.rubrics.rubricless, this._options);
107
+ }
108
+ }
109
+ set options(o) {
110
+ this._options = o;
111
+ }
112
+ get multiTraitRubric() {
113
+ return this.querySelector(`${MULTI_TRAIT_RUBRIC_TAG_NAME}#multiTraitRubric`);
114
+ }
115
+ get simpleRubric() {
116
+ return this.querySelector(`${RUBRIC_TAG_NAME}#simpleRubric`);
117
+ }
118
+ get rubricless() {
119
+ return this.querySelector(`${RUBRIC_TAG_NAME}#rubricless`);
120
+ }
121
+ connectedCallback() {
122
+ this._render();
123
+ }
124
+ _render() {
125
+ this.innerHTML = rubricTags[this._type] || '';
126
+ }
127
+ }
128
+ var _default = exports.default = ComplexRubricPrint;
129
+ //# sourceMappingURL=print.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"print.js","names":["_rubric","_interopRequireDefault","require","_multiTraitRubric","_rubric2","RUBRIC_TAG_NAME","MULTI_TRAIT_RUBRIC_TAG_NAME","ComplexRubricSimple","Rubric","ComplexRubricMultiTrait","MultiTraitRubric","rubricTags","RUBRIC_TYPES","SIMPLE_RUBRIC","RUBRICLESS","MULTI_TRAIT_RUBRIC","preparePrintModel","model","opts","instr","role","mode","animationsDisabled","defineRubrics","customElements","get","define","ComplexRubricPrint","HTMLElement","constructor","_model","_type","_options","type","t","m","oldType","rubricType","whenDefined","then","setRubricModel","simpleRubric","setMultiTraitRubricModel","multiTraitRubric","setRubriclessModel","rubricless","_render","rubrics","scales","excludeZero","parsedScales","map","scale","visible","arrowsDisabled","options","o","querySelector","connectedCallback","innerHTML","_default","exports","default"],"sources":["../src/print.js"],"sourcesContent":["// here it is actually using rubric/src/index.js, instead of using rubric/src/print.js\nimport Rubric from '@pie-element/rubric';\n// here it is actually using multi-trait-rubric/src/index.js, instead of using multi-trait-rubric/src/print.js\nimport MultiTraitRubric from '@pie-element/multi-trait-rubric';\nimport { RUBRIC_TYPES } from '@pie-lib/rubric';\n\nconst RUBRIC_TAG_NAME = 'complex-rubric-simple';\nconst MULTI_TRAIT_RUBRIC_TAG_NAME = 'complex-rubric-multi-trait';\n\nclass ComplexRubricSimple extends Rubric {}\nclass ComplexRubricMultiTrait extends MultiTraitRubric {}\n\nconst rubricTags = {\n [RUBRIC_TYPES.SIMPLE_RUBRIC]: `<${RUBRIC_TAG_NAME} id=\"simpleRubric\" />`,\n [RUBRIC_TYPES.RUBRICLESS]: `<${RUBRIC_TAG_NAME} id=\"rubricless\" />`,\n [RUBRIC_TYPES.MULTI_TRAIT_RUBRIC]: `<${MULTI_TRAIT_RUBRIC_TAG_NAME} id=\"multiTraitRubric\" />`,\n};\n\nconst preparePrintModel = (model, opts) => {\n const instr = opts.role === 'instructor';\n\n if (!instr) {\n return {};\n }\n\n model.mode = 'evaluate';\n model.animationsDisabled = true;\n\n return model;\n};\n\nconst defineRubrics = () => {\n if (!customElements.get(RUBRIC_TAG_NAME)) {\n customElements.define(RUBRIC_TAG_NAME, ComplexRubricSimple);\n }\n\n if (!customElements.get(MULTI_TRAIT_RUBRIC_TAG_NAME)) {\n customElements.define(MULTI_TRAIT_RUBRIC_TAG_NAME, ComplexRubricMultiTrait);\n }\n};\n\ndefineRubrics();\n\nclass ComplexRubricPrint extends HTMLElement {\n constructor() {\n super();\n this._model = {};\n this._type = RUBRIC_TYPES.SIMPLE_RUBRIC;\n this._options = null;\n }\n\n set type(t) {\n this._type = t;\n }\n\n get type() {\n return this._type;\n }\n\n set model(m) {\n this._model = m;\n const oldType = this._type;\n this.type = m.rubricType;\n\n switch (this._type) {\n case RUBRIC_TYPES.SIMPLE_RUBRIC:\n default:\n customElements.whenDefined(RUBRIC_TAG_NAME).then(() => {\n this.setRubricModel(this.simpleRubric);\n });\n break;\n case RUBRIC_TYPES.MULTI_TRAIT_RUBRIC:\n customElements.whenDefined(MULTI_TRAIT_RUBRIC_TAG_NAME).then(() => {\n this.setMultiTraitRubricModel(this.multiTraitRubric);\n });\n break;\n case RUBRIC_TYPES.RUBRICLESS:\n customElements.whenDefined(RUBRIC_TAG_NAME).then(() => {\n this.setRubriclessModel(this.rubricless);\n });\n break;\n }\n\n if (oldType !== this.type) {\n this._render();\n }\n }\n\n setRubricModel(simpleRubric) {\n if (this._model && this._model.rubrics && this._model.rubrics.simpleRubric) {\n simpleRubric.model = preparePrintModel(this._model.rubrics.simpleRubric, this._options);\n }\n }\n\n setMultiTraitRubricModel(multiTraitRubric) {\n if (this._model && this._model.rubrics && this._model.rubrics.multiTraitRubric) {\n const { scales, excludeZero } = this._model.rubrics.multiTraitRubric || {};\n const parsedScales = (scales || []).map((scale) => ({ ...scale, excludeZero }));\n\n multiTraitRubric.model = {\n ...preparePrintModel(this._model.rubrics.multiTraitRubric, this._options),\n visible: true,\n arrowsDisabled: true,\n scales: parsedScales,\n };\n }\n }\n\n setRubriclessModel(rubricless) {\n if (this._model && this._model.rubrics && this._model.rubrics.rubricless) {\n rubricless.model = preparePrintModel(this._model.rubrics.rubricless, this._options);\n }\n }\n\n set options(o) {\n this._options = o;\n }\n\n get multiTraitRubric() {\n return this.querySelector(`${MULTI_TRAIT_RUBRIC_TAG_NAME}#multiTraitRubric`);\n }\n\n get simpleRubric() {\n return this.querySelector(`${RUBRIC_TAG_NAME}#simpleRubric`);\n }\n\n get rubricless() {\n return this.querySelector(`${RUBRIC_TAG_NAME}#rubricless`);\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n this.innerHTML = rubricTags[this._type] || '';\n }\n}\n\nexport default ComplexRubricPrint;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/complex-rubric",
3
3
  "repository": "pie-framework/pie-elements",
4
- "version": "7.2.2-beta.6",
4
+ "version": "7.2.2-beta.8",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -10,16 +10,16 @@
10
10
  "@emotion/style": "^0.8.0",
11
11
  "@mui/icons-material": "^7.3.4",
12
12
  "@mui/material": "^7.3.4",
13
- "@pie-element/multi-trait-rubric": "^8.2.2-beta.6",
14
- "@pie-element/rubric": "^8.2.2-beta.6",
13
+ "@pie-element/multi-trait-rubric": "^8.2.2-beta.8",
14
+ "@pie-element/rubric": "^8.2.2-beta.8",
15
15
  "@pie-framework/pie-player-events": "^0.1.0",
16
- "@pie-lib/rubric": "2.0.22-beta.1",
16
+ "@pie-lib/rubric": "2.0.22-beta.3",
17
17
  "classnames": "^2.2.6",
18
18
  "debug": "^4.1.1",
19
19
  "lodash-es": "^4.17.23",
20
20
  "prop-types": "^15.8.1"
21
21
  },
22
- "gitHead": "c6bbb21417c58eaf8f617143437fb3ff85ae1cb4",
22
+ "gitHead": "675f5eade074184bdce556c2fac16b95d2bf1c60",
23
23
  "scripts": {
24
24
  "postpublish": "../../scripts/postpublish"
25
25
  },