@pie-element/complex-rubric 1.8.4 → 1.9.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.
- package/CHANGELOG.md +19 -0
- package/configure/CHANGELOG.md +17 -0
- package/configure/package.json +8 -8
- package/lib/index.js +19 -1
- package/lib/index.js.map +1 -1
- package/lib/print.js +201 -0
- package/lib/print.js.map +1 -0
- package/package.json +6 -5
- package/src/index.js +21 -2
- package/src/print.js +119 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,25 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.9.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/complex-rubric@1.8.4...@pie-element/complex-rubric@1.9.0) (2023-05-23)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* set back model (and session, where needed) if re-render happened PD-2830 ([5ed9cc4](https://github.com/pie-framework/pie-elements/commit/5ed9cc41f810a5eb65b5c8511cb7ece663989026))
|
|
12
|
+
* update pie-lib PD-2777, PD-1914, PD-2066 ([7102893](https://github.com/pie-framework/pie-elements/commit/71028930a6dc554eb587cf4de0c1d0d28bfff1f5))
|
|
13
|
+
* update pie-libs PD-2774, PD-1026 ([04f8cd0](https://github.com/pie-framework/pie-elements/commit/04f8cd000afdb2ccb0c25146d46acb60c5fea651))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* ability to upload images when using imageSupoort from pie-api-components PD-2707 ([685f3b0](https://github.com/pie-framework/pie-elements/commit/685f3b035d86c5f4ad60cdb9ec84690d5ccaa4fc))
|
|
19
|
+
* **complex-rubric, rubric:** wip add file for complex-rubric, managed to make simple rubric work PD-2748 ([91b8848](https://github.com/pie-framework/pie-elements/commit/91b8848efaa9ed677003227e56b35c17e0897e6f))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
6
25
|
## [1.8.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/complex-rubric@1.8.3...@pie-element/complex-rubric@1.8.4) (2023-05-02)
|
|
7
26
|
|
|
8
27
|
|
package/configure/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,23 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.8.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/complex-rubric-configure@1.7.4...@pie-element/complex-rubric-configure@1.8.0) (2023-05-23)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* update pie-lib PD-2777, PD-1914, PD-2066 ([7102893](https://github.com/pie-framework/pie-elements/commit/71028930a6dc554eb587cf4de0c1d0d28bfff1f5))
|
|
12
|
+
* update pie-libs PD-2774, PD-1026 ([04f8cd0](https://github.com/pie-framework/pie-elements/commit/04f8cd000afdb2ccb0c25146d46acb60c5fea651))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* ability to upload images when using imageSupoort from pie-api-components PD-2707 ([685f3b0](https://github.com/pie-framework/pie-elements/commit/685f3b035d86c5f4ad60cdb9ec84690d5ccaa4fc))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
6
23
|
## [1.7.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/complex-rubric-configure@1.7.3...@pie-element/complex-rubric-configure@1.7.4) (2023-05-02)
|
|
7
24
|
|
|
8
25
|
|
package/configure/package.json
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/complex-rubric-configure",
|
|
3
3
|
"private": true,
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.8.0",
|
|
5
5
|
"description": "Complex Rubric authoring view",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"module": "src/index.js",
|
|
8
8
|
"author": "Pie Framework Authors",
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@material-ui/core": "^3.9.2",
|
|
11
|
-
"@pie-element/multi-trait-rubric": "^2.
|
|
12
|
-
"@pie-element/rubric": "^2.
|
|
11
|
+
"@pie-element/multi-trait-rubric": "^2.11.0",
|
|
12
|
+
"@pie-element/rubric": "^2.9.0",
|
|
13
13
|
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
14
|
-
"@pie-lib/config-ui": "^11.6.
|
|
15
|
-
"@pie-lib/editable-html": "^9.
|
|
16
|
-
"@pie-lib/render-ui": "^4.14.
|
|
17
|
-
"@pie-lib/rubric": "^0.7.
|
|
18
|
-
"@pie-lib/scoring-config": "^3.6.
|
|
14
|
+
"@pie-lib/config-ui": "^11.6.10",
|
|
15
|
+
"@pie-lib/editable-html": "^9.6.2",
|
|
16
|
+
"@pie-lib/render-ui": "^4.14.24",
|
|
17
|
+
"@pie-lib/rubric": "^0.7.29",
|
|
18
|
+
"@pie-lib/scoring-config": "^3.6.31",
|
|
19
19
|
"debug": "^4.1.1",
|
|
20
20
|
"lodash": "^4.17.15",
|
|
21
21
|
"prop-types": "^15.6.2",
|
package/lib/index.js
CHANGED
|
@@ -166,7 +166,25 @@ var ComplexRubric = /*#__PURE__*/function (_HTMLElement) {
|
|
|
166
166
|
key: "_render",
|
|
167
167
|
value: function _render() {
|
|
168
168
|
var rubricTag = this._type === _rubric2.RUBRIC_TYPES.SIMPLE_RUBRIC ? "<".concat(RUBRIC_TAG_NAME, " id=\"simpleRubric\" />") : "<".concat(MULTI_TRAIT_RUBRIC_TAG_NAME, " id=\"multiTraitRubric\" />");
|
|
169
|
-
this.innerHTML = rubricTag;
|
|
169
|
+
this.innerHTML = rubricTag; // when item is re-rendered (due to connectedCallback), if the custom element is already defined,
|
|
170
|
+
// we need to set the model and session, otherwise the setters are not reached again
|
|
171
|
+
|
|
172
|
+
switch (this._type) {
|
|
173
|
+
case _rubric2.RUBRIC_TYPES.SIMPLE_RUBRIC:
|
|
174
|
+
default:
|
|
175
|
+
if (customElements.get(RUBRIC_TAG_NAME)) {
|
|
176
|
+
this.setRubricModel(this.simpleRubric);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
break;
|
|
180
|
+
|
|
181
|
+
case _rubric2.RUBRIC_TYPES.MULTI_TRAIT_RUBRIC:
|
|
182
|
+
if (customElements.get(MULTI_TRAIT_RUBRIC_TAG_NAME)) {
|
|
183
|
+
this.setMultiTraitRubricModel(this.multiTraitRubric);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
break;
|
|
187
|
+
}
|
|
170
188
|
}
|
|
171
189
|
}]);
|
|
172
190
|
return ComplexRubric;
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["RUBRIC_TAG_NAME","MULTI_TRAIT_RUBRIC_TAG_NAME","ComplexRubricSimple","Rubric","ComplexRubricMultiTrait","MultiTraitRubric","defineRubrics","customElements","get","define","ComplexRubric","_model","_type","RUBRIC_TYPES","SIMPLE_RUBRIC","t","m","oldType","type","rubricType","whenDefined","then","setRubricModel","simpleRubric","MULTI_TRAIT_RUBRIC","setMultiTraitRubricModel","multiTraitRubric","_render","rubrics","mode","model","querySelector","rubricTag","innerHTML","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,eAAe,GAAG,uBAAxB;AACA,IAAMC,2BAA2B,GAAG,4BAApC;;IAEMC,mB;;;;;;;;;;;EAA4BC,kB;;
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["RUBRIC_TAG_NAME","MULTI_TRAIT_RUBRIC_TAG_NAME","ComplexRubricSimple","Rubric","ComplexRubricMultiTrait","MultiTraitRubric","defineRubrics","customElements","get","define","ComplexRubric","_model","_type","RUBRIC_TYPES","SIMPLE_RUBRIC","t","m","oldType","type","rubricType","whenDefined","then","setRubricModel","simpleRubric","MULTI_TRAIT_RUBRIC","setMultiTraitRubricModel","multiTraitRubric","_render","rubrics","mode","model","querySelector","rubricTag","innerHTML","HTMLElement"],"mappings":"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","sourcesContent":["import Rubric from '@pie-element/rubric';\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 {\n}\n\nclass ComplexRubricMultiTrait extends MultiTraitRubric {\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 ComplexRubric extends HTMLElement {\n constructor() {\n super();\n this._model = {};\n this._type = RUBRIC_TYPES.SIMPLE_RUBRIC;\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 }\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 const { mode } = this._model;\n\n simpleRubric.model = {\n ...this._model.rubrics.simpleRubric,\n mode,\n };\n }\n }\n\n setMultiTraitRubricModel(multiTraitRubric) {\n if (this._model && this._model.rubrics && this._model.rubrics.multiTraitRubric) {\n const { mode } = this._model;\n\n multiTraitRubric.model = {\n ...this._model.rubrics.multiTraitRubric,\n mode,\n };\n }\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 connectedCallback() {\n this._render();\n }\n\n _render() {\n const rubricTag =\n this._type === RUBRIC_TYPES.SIMPLE_RUBRIC\n ? `<${RUBRIC_TAG_NAME} id=\"simpleRubric\" />`\n : `<${MULTI_TRAIT_RUBRIC_TAG_NAME} id=\"multiTraitRubric\" />`;\n\n this.innerHTML = rubricTag;\n\n // when item is re-rendered (due to connectedCallback), if the custom element is already defined,\n // we need to set the model and session, otherwise the setters are not reached again\n switch (this._type) {\n case RUBRIC_TYPES.SIMPLE_RUBRIC:\n default:\n if (customElements.get(RUBRIC_TAG_NAME)) {\n this.setRubricModel(this.simpleRubric);\n }\n break;\n case RUBRIC_TYPES.MULTI_TRAIT_RUBRIC:\n if (customElements.get(MULTI_TRAIT_RUBRIC_TAG_NAME)) {\n this.setMultiTraitRubricModel(this.multiTraitRubric);\n }\n break;\n }\n }\n}\n\nexport default ComplexRubric;\n"],"file":"index.js"}
|
package/lib/print.js
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
|
+
|
|
18
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
+
|
|
20
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
22
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
24
|
+
var _rubric = _interopRequireDefault(require("@pie-element/rubric"));
|
|
25
|
+
|
|
26
|
+
var _multiTraitRubric = _interopRequireDefault(require("@pie-element/multi-trait-rubric"));
|
|
27
|
+
|
|
28
|
+
var _rubric2 = require("@pie-lib/rubric");
|
|
29
|
+
|
|
30
|
+
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; }
|
|
31
|
+
|
|
32
|
+
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; }
|
|
33
|
+
|
|
34
|
+
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); }; }
|
|
35
|
+
|
|
36
|
+
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; } }
|
|
37
|
+
|
|
38
|
+
var RUBRIC_TAG_NAME = 'complex-rubric-simple';
|
|
39
|
+
var MULTI_TRAIT_RUBRIC_TAG_NAME = 'complex-rubric-multi-trait';
|
|
40
|
+
|
|
41
|
+
var ComplexRubricSimple = /*#__PURE__*/function (_Rubric) {
|
|
42
|
+
(0, _inherits2["default"])(ComplexRubricSimple, _Rubric);
|
|
43
|
+
|
|
44
|
+
var _super = _createSuper(ComplexRubricSimple);
|
|
45
|
+
|
|
46
|
+
function ComplexRubricSimple() {
|
|
47
|
+
(0, _classCallCheck2["default"])(this, ComplexRubricSimple);
|
|
48
|
+
return _super.apply(this, arguments);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return (0, _createClass2["default"])(ComplexRubricSimple);
|
|
52
|
+
}(_rubric["default"]);
|
|
53
|
+
|
|
54
|
+
var ComplexRubricMultiTrait = /*#__PURE__*/function (_MultiTraitRubric) {
|
|
55
|
+
(0, _inherits2["default"])(ComplexRubricMultiTrait, _MultiTraitRubric);
|
|
56
|
+
|
|
57
|
+
var _super2 = _createSuper(ComplexRubricMultiTrait);
|
|
58
|
+
|
|
59
|
+
function ComplexRubricMultiTrait() {
|
|
60
|
+
(0, _classCallCheck2["default"])(this, ComplexRubricMultiTrait);
|
|
61
|
+
return _super2.apply(this, arguments);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return (0, _createClass2["default"])(ComplexRubricMultiTrait);
|
|
65
|
+
}(_multiTraitRubric["default"]);
|
|
66
|
+
|
|
67
|
+
var preparePrintModel = function preparePrintModel(model, opts) {
|
|
68
|
+
var instr = opts.role === 'instructor';
|
|
69
|
+
|
|
70
|
+
if (!instr) {
|
|
71
|
+
return {};
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
model.mode = 'evaluate';
|
|
75
|
+
model.animationsDisabled = true;
|
|
76
|
+
return model;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
var defineRubrics = function defineRubrics() {
|
|
80
|
+
if (!customElements.get(RUBRIC_TAG_NAME)) {
|
|
81
|
+
customElements.define(RUBRIC_TAG_NAME, ComplexRubricSimple);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (!customElements.get(MULTI_TRAIT_RUBRIC_TAG_NAME)) {
|
|
85
|
+
customElements.define(MULTI_TRAIT_RUBRIC_TAG_NAME, ComplexRubricMultiTrait);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
defineRubrics();
|
|
90
|
+
|
|
91
|
+
var ComplexRubricPrint = /*#__PURE__*/function (_HTMLElement) {
|
|
92
|
+
(0, _inherits2["default"])(ComplexRubricPrint, _HTMLElement);
|
|
93
|
+
|
|
94
|
+
var _super3 = _createSuper(ComplexRubricPrint);
|
|
95
|
+
|
|
96
|
+
function ComplexRubricPrint() {
|
|
97
|
+
var _this;
|
|
98
|
+
|
|
99
|
+
(0, _classCallCheck2["default"])(this, ComplexRubricPrint);
|
|
100
|
+
_this = _super3.call(this);
|
|
101
|
+
_this._model = {};
|
|
102
|
+
_this._type = _rubric2.RUBRIC_TYPES.SIMPLE_RUBRIC;
|
|
103
|
+
_this._options = null;
|
|
104
|
+
return _this;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
(0, _createClass2["default"])(ComplexRubricPrint, [{
|
|
108
|
+
key: "type",
|
|
109
|
+
get: function get() {
|
|
110
|
+
return this._type;
|
|
111
|
+
},
|
|
112
|
+
set: function set(t) {
|
|
113
|
+
this._type = t;
|
|
114
|
+
}
|
|
115
|
+
}, {
|
|
116
|
+
key: "model",
|
|
117
|
+
set: function set(m) {
|
|
118
|
+
var _this2 = this;
|
|
119
|
+
|
|
120
|
+
this._model = m;
|
|
121
|
+
var oldType = this._type;
|
|
122
|
+
this.type = m.rubricType;
|
|
123
|
+
|
|
124
|
+
switch (this._type) {
|
|
125
|
+
case _rubric2.RUBRIC_TYPES.SIMPLE_RUBRIC:
|
|
126
|
+
default:
|
|
127
|
+
customElements.whenDefined(RUBRIC_TAG_NAME).then(function () {
|
|
128
|
+
_this2.setRubricModel(_this2.simpleRubric);
|
|
129
|
+
});
|
|
130
|
+
break;
|
|
131
|
+
|
|
132
|
+
case _rubric2.RUBRIC_TYPES.MULTI_TRAIT_RUBRIC:
|
|
133
|
+
customElements.whenDefined(MULTI_TRAIT_RUBRIC_TAG_NAME).then(function () {
|
|
134
|
+
_this2.setMultiTraitRubricModel(_this2.multiTraitRubric);
|
|
135
|
+
});
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
if (oldType !== this.type) {
|
|
140
|
+
this._render();
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}, {
|
|
144
|
+
key: "setRubricModel",
|
|
145
|
+
value: function setRubricModel(simpleRubric) {
|
|
146
|
+
if (this._model && this._model.rubrics && this._model.rubrics.simpleRubric) {
|
|
147
|
+
simpleRubric.model = preparePrintModel(this._model.rubrics.simpleRubric, this._options);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}, {
|
|
151
|
+
key: "setMultiTraitRubricModel",
|
|
152
|
+
value: function setMultiTraitRubricModel(multiTraitRubric) {
|
|
153
|
+
if (this._model && this._model.rubrics && this._model.rubrics.multiTraitRubric) {
|
|
154
|
+
var _ref = this._model.rubrics.multiTraitRubric || {},
|
|
155
|
+
scales = _ref.scales,
|
|
156
|
+
excludeZero = _ref.excludeZero;
|
|
157
|
+
|
|
158
|
+
var parsedScales = (scales || []).map(function (scale) {
|
|
159
|
+
return _objectSpread(_objectSpread({}, scale), {}, {
|
|
160
|
+
excludeZero: excludeZero
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
multiTraitRubric.model = _objectSpread(_objectSpread({}, preparePrintModel(this._model.rubrics.multiTraitRubric, this._options)), {}, {
|
|
164
|
+
visible: true,
|
|
165
|
+
arrowsDisabled: true,
|
|
166
|
+
scales: parsedScales
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}, {
|
|
171
|
+
key: "options",
|
|
172
|
+
set: function set(o) {
|
|
173
|
+
this._options = o;
|
|
174
|
+
}
|
|
175
|
+
}, {
|
|
176
|
+
key: "multiTraitRubric",
|
|
177
|
+
get: function get() {
|
|
178
|
+
return this.querySelector("".concat(MULTI_TRAIT_RUBRIC_TAG_NAME, "#multiTraitRubric"));
|
|
179
|
+
}
|
|
180
|
+
}, {
|
|
181
|
+
key: "simpleRubric",
|
|
182
|
+
get: function get() {
|
|
183
|
+
return this.querySelector("".concat(RUBRIC_TAG_NAME, "#simpleRubric"));
|
|
184
|
+
}
|
|
185
|
+
}, {
|
|
186
|
+
key: "connectedCallback",
|
|
187
|
+
value: function connectedCallback() {
|
|
188
|
+
this._render();
|
|
189
|
+
}
|
|
190
|
+
}, {
|
|
191
|
+
key: "_render",
|
|
192
|
+
value: function _render() {
|
|
193
|
+
this.innerHTML = this._type === _rubric2.RUBRIC_TYPES.SIMPLE_RUBRIC ? "<".concat(RUBRIC_TAG_NAME, " id=\"simpleRubric\" />") : "<".concat(MULTI_TRAIT_RUBRIC_TAG_NAME, " id=\"multiTraitRubric\" />");
|
|
194
|
+
}
|
|
195
|
+
}]);
|
|
196
|
+
return ComplexRubricPrint;
|
|
197
|
+
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
198
|
+
|
|
199
|
+
var _default = ComplexRubricPrint;
|
|
200
|
+
exports["default"] = _default;
|
|
201
|
+
//# sourceMappingURL=print.js.map
|
package/lib/print.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/print.js"],"names":["RUBRIC_TAG_NAME","MULTI_TRAIT_RUBRIC_TAG_NAME","ComplexRubricSimple","Rubric","ComplexRubricMultiTrait","MultiTraitRubric","preparePrintModel","model","opts","instr","role","mode","animationsDisabled","defineRubrics","customElements","get","define","ComplexRubricPrint","_model","_type","RUBRIC_TYPES","SIMPLE_RUBRIC","_options","t","m","oldType","type","rubricType","whenDefined","then","setRubricModel","simpleRubric","MULTI_TRAIT_RUBRIC","setMultiTraitRubricModel","multiTraitRubric","_render","rubrics","scales","excludeZero","parsedScales","map","scale","visible","arrowsDisabled","o","querySelector","innerHTML","HTMLElement"],"mappings":"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","sourcesContent":["import Rubric from '@pie-element/rubric';\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 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 }\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 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 connectedCallback() {\n this._render();\n }\n\n _render() {\n this.innerHTML = this._type === RUBRIC_TYPES.SIMPLE_RUBRIC\n ? `<${RUBRIC_TAG_NAME} id=\"simpleRubric\" />`\n : `<${MULTI_TRAIT_RUBRIC_TAG_NAME} id=\"multiTraitRubric\" />`;\n }\n}\n\nexport default ComplexRubricPrint;\n"],"file":"print.js"}
|
package/package.json
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/complex-rubric",
|
|
3
3
|
"repository": "pie-framework/pie-elements",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.9.0",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"@material-ui/core": "^3.9.2",
|
|
10
|
-
"@pie-element/multi-trait-rubric": "^2.
|
|
11
|
-
"@pie-element/rubric": "^2.
|
|
10
|
+
"@pie-element/multi-trait-rubric": "^2.11.0",
|
|
11
|
+
"@pie-element/rubric": "^2.9.0",
|
|
12
12
|
"@pie-framework/pie-player-events": "^0.1.0",
|
|
13
13
|
"classnames": "^2.2.5",
|
|
14
14
|
"debug": "^4.1.1",
|
|
15
15
|
"lodash": "^4.17.11",
|
|
16
16
|
"prop-types": "^15.7.2"
|
|
17
17
|
},
|
|
18
|
-
"gitHead": "
|
|
18
|
+
"gitHead": "25e381e4b889639bb20875c517bcd6f127124fad",
|
|
19
19
|
"scripts": {
|
|
20
20
|
"postpublish": "../../scripts/postpublish"
|
|
21
21
|
},
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"author": "pie framework developers",
|
|
26
26
|
"license": "ISC",
|
|
27
27
|
"exports": {
|
|
28
|
-
".": "./src/index.js"
|
|
28
|
+
".": "./src/index.js",
|
|
29
|
+
"./print": "./src/print.js"
|
|
29
30
|
}
|
|
30
31
|
}
|
package/src/index.js
CHANGED
|
@@ -5,8 +5,11 @@ import { RUBRIC_TYPES } from '@pie-lib/rubric';
|
|
|
5
5
|
const RUBRIC_TAG_NAME = 'complex-rubric-simple';
|
|
6
6
|
const MULTI_TRAIT_RUBRIC_TAG_NAME = 'complex-rubric-multi-trait';
|
|
7
7
|
|
|
8
|
-
class ComplexRubricSimple extends Rubric {
|
|
9
|
-
|
|
8
|
+
class ComplexRubricSimple extends Rubric {
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
class ComplexRubricMultiTrait extends MultiTraitRubric {
|
|
12
|
+
}
|
|
10
13
|
|
|
11
14
|
const defineRubrics = () => {
|
|
12
15
|
if (!customElements.get(RUBRIC_TAG_NAME)) {
|
|
@@ -100,6 +103,22 @@ class ComplexRubric extends HTMLElement {
|
|
|
100
103
|
: `<${MULTI_TRAIT_RUBRIC_TAG_NAME} id="multiTraitRubric" />`;
|
|
101
104
|
|
|
102
105
|
this.innerHTML = rubricTag;
|
|
106
|
+
|
|
107
|
+
// when item is re-rendered (due to connectedCallback), if the custom element is already defined,
|
|
108
|
+
// we need to set the model and session, otherwise the setters are not reached again
|
|
109
|
+
switch (this._type) {
|
|
110
|
+
case RUBRIC_TYPES.SIMPLE_RUBRIC:
|
|
111
|
+
default:
|
|
112
|
+
if (customElements.get(RUBRIC_TAG_NAME)) {
|
|
113
|
+
this.setRubricModel(this.simpleRubric);
|
|
114
|
+
}
|
|
115
|
+
break;
|
|
116
|
+
case RUBRIC_TYPES.MULTI_TRAIT_RUBRIC:
|
|
117
|
+
if (customElements.get(MULTI_TRAIT_RUBRIC_TAG_NAME)) {
|
|
118
|
+
this.setMultiTraitRubricModel(this.multiTraitRubric);
|
|
119
|
+
}
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
103
122
|
}
|
|
104
123
|
}
|
|
105
124
|
|
package/src/print.js
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import Rubric from '@pie-element/rubric';
|
|
2
|
+
import MultiTraitRubric from '@pie-element/multi-trait-rubric';
|
|
3
|
+
import { RUBRIC_TYPES } from '@pie-lib/rubric';
|
|
4
|
+
|
|
5
|
+
const RUBRIC_TAG_NAME = 'complex-rubric-simple';
|
|
6
|
+
const MULTI_TRAIT_RUBRIC_TAG_NAME = 'complex-rubric-multi-trait';
|
|
7
|
+
|
|
8
|
+
class ComplexRubricSimple extends Rubric {}
|
|
9
|
+
class ComplexRubricMultiTrait extends MultiTraitRubric {}
|
|
10
|
+
|
|
11
|
+
const preparePrintModel = (model, opts) => {
|
|
12
|
+
const instr = opts.role === 'instructor';
|
|
13
|
+
|
|
14
|
+
if (!instr) {
|
|
15
|
+
return {};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
model.mode = 'evaluate';
|
|
19
|
+
model.animationsDisabled = true;
|
|
20
|
+
|
|
21
|
+
return model;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const defineRubrics = () => {
|
|
25
|
+
if (!customElements.get(RUBRIC_TAG_NAME)) {
|
|
26
|
+
customElements.define(RUBRIC_TAG_NAME, ComplexRubricSimple);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (!customElements.get(MULTI_TRAIT_RUBRIC_TAG_NAME)) {
|
|
30
|
+
customElements.define(MULTI_TRAIT_RUBRIC_TAG_NAME, ComplexRubricMultiTrait);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
defineRubrics();
|
|
35
|
+
|
|
36
|
+
class ComplexRubricPrint extends HTMLElement {
|
|
37
|
+
constructor() {
|
|
38
|
+
super();
|
|
39
|
+
this._model = {};
|
|
40
|
+
this._type = RUBRIC_TYPES.SIMPLE_RUBRIC;
|
|
41
|
+
this._options = null;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
set type(t) {
|
|
45
|
+
this._type = t;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
get type() {
|
|
49
|
+
return this._type;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
set model(m) {
|
|
53
|
+
this._model = m;
|
|
54
|
+
const oldType = this._type;
|
|
55
|
+
this.type = m.rubricType;
|
|
56
|
+
|
|
57
|
+
switch (this._type) {
|
|
58
|
+
case RUBRIC_TYPES.SIMPLE_RUBRIC:
|
|
59
|
+
default:
|
|
60
|
+
customElements.whenDefined(RUBRIC_TAG_NAME).then(() => {
|
|
61
|
+
this.setRubricModel(this.simpleRubric);
|
|
62
|
+
});
|
|
63
|
+
break;
|
|
64
|
+
case RUBRIC_TYPES.MULTI_TRAIT_RUBRIC:
|
|
65
|
+
customElements.whenDefined(MULTI_TRAIT_RUBRIC_TAG_NAME).then(() => {
|
|
66
|
+
this.setMultiTraitRubricModel(this.multiTraitRubric);
|
|
67
|
+
});
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (oldType !== this.type) {
|
|
72
|
+
this._render();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
setRubricModel(simpleRubric) {
|
|
77
|
+
if (this._model && this._model.rubrics && this._model.rubrics.simpleRubric) {
|
|
78
|
+
simpleRubric.model = preparePrintModel(this._model.rubrics.simpleRubric, this._options);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
setMultiTraitRubricModel(multiTraitRubric) {
|
|
83
|
+
if (this._model && this._model.rubrics && this._model.rubrics.multiTraitRubric) {
|
|
84
|
+
const { scales, excludeZero } = this._model.rubrics.multiTraitRubric || {};
|
|
85
|
+
const parsedScales = (scales || []).map((scale) => ({ ...scale, excludeZero }));
|
|
86
|
+
|
|
87
|
+
multiTraitRubric.model = {
|
|
88
|
+
...preparePrintModel(this._model.rubrics.multiTraitRubric, this._options),
|
|
89
|
+
visible: true,
|
|
90
|
+
arrowsDisabled: true,
|
|
91
|
+
scales: parsedScales,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
set options(o) {
|
|
97
|
+
this._options = o;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
get multiTraitRubric() {
|
|
101
|
+
return this.querySelector(`${MULTI_TRAIT_RUBRIC_TAG_NAME}#multiTraitRubric`);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
get simpleRubric() {
|
|
105
|
+
return this.querySelector(`${RUBRIC_TAG_NAME}#simpleRubric`);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
connectedCallback() {
|
|
109
|
+
this._render();
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
_render() {
|
|
113
|
+
this.innerHTML = this._type === RUBRIC_TYPES.SIMPLE_RUBRIC
|
|
114
|
+
? `<${RUBRIC_TAG_NAME} id="simpleRubric" />`
|
|
115
|
+
: `<${MULTI_TRAIT_RUBRIC_TAG_NAME} id="multiTraitRubric" />`;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
export default ComplexRubricPrint;
|