@pie-element/complex-rubric 2.4.2-next.22 → 2.4.2-next.25

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/index.js ADDED
@@ -0,0 +1,232 @@
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/pie-toolbox/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 defineRubrics = function defineRubrics() {
68
+ if (!customElements.get(RUBRIC_TAG_NAME)) {
69
+ customElements.define(RUBRIC_TAG_NAME, ComplexRubricSimple);
70
+ }
71
+
72
+ if (!customElements.get(MULTI_TRAIT_RUBRIC_TAG_NAME)) {
73
+ customElements.define(MULTI_TRAIT_RUBRIC_TAG_NAME, ComplexRubricMultiTrait);
74
+ }
75
+ };
76
+
77
+ defineRubrics();
78
+
79
+ var ComplexRubric = /*#__PURE__*/function (_HTMLElement) {
80
+ (0, _inherits2["default"])(ComplexRubric, _HTMLElement);
81
+
82
+ var _super3 = _createSuper(ComplexRubric);
83
+
84
+ function ComplexRubric() {
85
+ var _this;
86
+
87
+ (0, _classCallCheck2["default"])(this, ComplexRubric);
88
+ _this = _super3.call(this);
89
+ _this._model = {};
90
+ _this._type = _rubric2.RUBRIC_TYPES.SIMPLE_RUBRIC;
91
+ return _this;
92
+ }
93
+
94
+ (0, _createClass2["default"])(ComplexRubric, [{
95
+ key: "type",
96
+ get: function get() {
97
+ return this._type;
98
+ },
99
+ set: function set(t) {
100
+ this._type = t;
101
+ }
102
+ }, {
103
+ key: "model",
104
+ set: function set(m) {
105
+ var _this2 = this;
106
+
107
+ this._model = m;
108
+ var oldType = this._type;
109
+ this.type = m.rubricType;
110
+
111
+ switch (this._type) {
112
+ case _rubric2.RUBRIC_TYPES.SIMPLE_RUBRIC:
113
+ default:
114
+ customElements.whenDefined(RUBRIC_TAG_NAME).then(function () {
115
+ _this2.setRubricModel(_this2.simpleRubric);
116
+ });
117
+ break;
118
+
119
+ case _rubric2.RUBRIC_TYPES.MULTI_TRAIT_RUBRIC:
120
+ customElements.whenDefined(MULTI_TRAIT_RUBRIC_TAG_NAME).then(function () {
121
+ _this2.setMultiTraitRubricModel(_this2.multiTraitRubric);
122
+ });
123
+ break;
124
+
125
+ case _rubric2.RUBRIC_TYPES.RUBRICLESS:
126
+ customElements.whenDefined(RUBRIC_TAG_NAME).then(function () {
127
+ _this2.setRubriclessModel(_this2.rubricless);
128
+ });
129
+ break;
130
+ }
131
+
132
+ if (oldType !== this.type) {
133
+ this._render();
134
+ }
135
+ }
136
+ }, {
137
+ key: "setRubricModel",
138
+ value: function setRubricModel(simpleRubric) {
139
+ if (this._model && this._model.rubrics && this._model.rubrics.simpleRubric) {
140
+ var mode = this._model.mode;
141
+ simpleRubric.model = _objectSpread(_objectSpread({}, this._model.rubrics.simpleRubric), {}, {
142
+ mode: mode
143
+ });
144
+ }
145
+ }
146
+ }, {
147
+ key: "setMultiTraitRubricModel",
148
+ value: function setMultiTraitRubricModel(multiTraitRubric) {
149
+ if (this._model && this._model.rubrics && this._model.rubrics.multiTraitRubric) {
150
+ var mode = this._model.mode;
151
+ multiTraitRubric.model = _objectSpread(_objectSpread({}, this._model.rubrics.multiTraitRubric), {}, {
152
+ mode: mode
153
+ });
154
+ }
155
+ }
156
+ }, {
157
+ key: "setRubriclessModel",
158
+ value: function setRubriclessModel(rubricless) {
159
+ if (this._model && this._model.rubrics && this._model.rubrics.rubricless) {
160
+ var mode = this._model.mode;
161
+ rubricless.model = _objectSpread(_objectSpread({}, this._model.rubrics.rubricless), {}, {
162
+ mode: mode
163
+ });
164
+ }
165
+ }
166
+ }, {
167
+ key: "multiTraitRubric",
168
+ get: function get() {
169
+ return this.querySelector("".concat(MULTI_TRAIT_RUBRIC_TAG_NAME, "#multiTraitRubric"));
170
+ }
171
+ }, {
172
+ key: "simpleRubric",
173
+ get: function get() {
174
+ return this.querySelector("".concat(RUBRIC_TAG_NAME, "#simpleRubric"));
175
+ }
176
+ }, {
177
+ key: "rubricless",
178
+ get: function get() {
179
+ return this.querySelector("".concat(RUBRIC_TAG_NAME, "#rubricless"));
180
+ }
181
+ }, {
182
+ key: "connectedCallback",
183
+ value: function connectedCallback() {
184
+ this._render();
185
+ }
186
+ }, {
187
+ key: "_render",
188
+ value: function _render() {
189
+ var rubricTag;
190
+
191
+ if (this._type === _rubric2.RUBRIC_TYPES.SIMPLE_RUBRIC) {
192
+ rubricTag = "<".concat(RUBRIC_TAG_NAME, " id=\"simpleRubric\" />");
193
+ } else if (this._type === _rubric2.RUBRIC_TYPES.RUBRICLESS) {
194
+ rubricTag = "<".concat(RUBRIC_TAG_NAME, " id=\"rubricless\" />");
195
+ } else {
196
+ rubricTag = "<".concat(MULTI_TRAIT_RUBRIC_TAG_NAME, " id=\"multiTraitRubric\" />");
197
+ }
198
+
199
+ this.innerHTML = rubricTag; // when item is re-rendered (due to connectedCallback), if the custom element is already defined,
200
+ // we need to set the model and session, otherwise the setters are not reached again
201
+
202
+ switch (this._type) {
203
+ case _rubric2.RUBRIC_TYPES.SIMPLE_RUBRIC:
204
+ default:
205
+ if (customElements.get(RUBRIC_TAG_NAME)) {
206
+ this.setRubricModel(this.simpleRubric);
207
+ }
208
+
209
+ break;
210
+
211
+ case _rubric2.RUBRIC_TYPES.MULTI_TRAIT_RUBRIC:
212
+ if (customElements.get(MULTI_TRAIT_RUBRIC_TAG_NAME)) {
213
+ this.setMultiTraitRubricModel(this.multiTraitRubric);
214
+ }
215
+
216
+ break;
217
+
218
+ case _rubric2.RUBRIC_TYPES.RUBRICLESS:
219
+ if (customElements.get(RUBRIC_TAG_NAME)) {
220
+ this.setRubriclessModel(this.rubricless);
221
+ }
222
+
223
+ break;
224
+ }
225
+ }
226
+ }]);
227
+ return ComplexRubric;
228
+ }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
229
+
230
+ var _default = ComplexRubric;
231
+ exports["default"] = _default;
232
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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","RUBRICLESS","setRubriclessModel","rubricless","_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/pie-toolbox/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 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 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 setRubriclessModel(rubricless) {\n if (this._model && this._model.rubrics && this._model.rubrics.rubricless) {\n const { mode } = this._model;\n\n rubricless.model = {\n ...this._model.rubrics.rubricless,\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 get rubricless() {\n return this.querySelector(`${RUBRIC_TAG_NAME}#rubricless`);\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n let rubricTag;\n if (this._type === RUBRIC_TYPES.SIMPLE_RUBRIC) {\n rubricTag = `<${RUBRIC_TAG_NAME} id=\"simpleRubric\" />`\n }\n else if (this._type === RUBRIC_TYPES.RUBRICLESS){\n rubricTag = `<${RUBRIC_TAG_NAME} id=\"rubricless\" />`;\n }\n else{\n rubricTag = `<${MULTI_TRAIT_RUBRIC_TAG_NAME} id=\"multiTraitRubric\" />`;\n }\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 case RUBRIC_TYPES.RUBRICLESS:\n if (customElements.get(RUBRIC_TAG_NAME)) {\n this.setRubriclessModel(this.rubricless);\n }\n break;\n\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/pie-toolbox/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
@@ -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/pie-toolbox/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"}