@pie-element/complex-rubric 5.0.1 → 5.2.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/esm/controller.js DELETED
@@ -1,327 +0,0 @@
1
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
- try {
3
- var info = gen[key](arg);
4
- var value = info.value;
5
- } catch (error) {
6
- reject(error);
7
- return;
8
- }
9
-
10
- if (info.done) {
11
- resolve(value);
12
- } else {
13
- Promise.resolve(value).then(_next, _throw);
14
- }
15
- }
16
-
17
- function _asyncToGenerator(fn) {
18
- return function () {
19
- var self = this,
20
- args = arguments;
21
- return new Promise(function (resolve, reject) {
22
- var gen = fn.apply(self, args);
23
-
24
- function _next(value) {
25
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
26
- }
27
-
28
- function _throw(err) {
29
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
30
- }
31
-
32
- _next(undefined);
33
- });
34
- };
35
- }
36
-
37
- function _defineProperty(obj, key, value) {
38
- if (key in obj) {
39
- Object.defineProperty(obj, key, {
40
- value: value,
41
- enumerable: true,
42
- configurable: true,
43
- writable: true
44
- });
45
- } else {
46
- obj[key] = value;
47
- }
48
-
49
- return obj;
50
- }
51
-
52
- // todo the import from pie-lib/rubric WILL break pslb
53
- // so don't use it unless you also test "yarn build"
54
- var RUBRIC_TYPES$1 = {
55
- SIMPLE_RUBRIC: 'simpleRubric',
56
- MULTI_TRAIT_RUBRIC: 'multiTraitRubric',
57
- 'rubricless': 'rubricless'
58
- };
59
- var multiTraitDefaultModel = {
60
- description: false,
61
- excludeZero: false,
62
- halfScoring: false,
63
- pointLabels: true,
64
- scales: [],
65
- standards: false,
66
- visibleToStudent: true
67
- };
68
- var rubricDefaultModel = {
69
- points: ['', '', '', ''],
70
- sampleAnswers: [null, null, null, null],
71
- maxPoints: 3,
72
- excludeZero: false
73
- };
74
- var rubriclessDefaultModel = {
75
- maxPoints: 100,
76
- excludeZero: false,
77
- rubriclessInstructionEnabled: true
78
- };
79
- var defaults = {
80
- rubricType: 'simpleRubric',
81
- rubrics: {
82
- [RUBRIC_TYPES$1.SIMPLE_RUBRIC]: rubricDefaultModel,
83
- [RUBRIC_TYPES$1.MULTI_TRAIT_RUBRIC]: multiTraitDefaultModel,
84
- [RUBRIC_TYPES$1.RUBRICLESS]: rubriclessDefaultModel
85
- }
86
- };
87
-
88
- var markupToText = s => {
89
- return (s || '').replace(/(<([^>]+)>)/ig, '');
90
- };
91
-
92
- 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; }
93
-
94
- 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) { _defineProperty(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; }
95
- // so don't use it unless you also test "yarn build"
96
-
97
- var RUBRIC_TYPES = {
98
- SIMPLE_RUBRIC: 'simpleRubric',
99
- MULTI_TRAIT_RUBRIC: 'multiTraitRubric',
100
- 'rubricless': 'rubricless'
101
- };
102
- function createDefaultModel() {
103
- var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
104
- return new Promise(resolve => resolve(_objectSpread(_objectSpread({}, defaults), model)));
105
- }
106
- var normalize = question => _objectSpread(_objectSpread({}, defaults), question);
107
- /**
108
- * @param {*} question
109
- * @param {*} session
110
- * @param {*} env
111
- */
112
-
113
- function model(_x, _x2, _x3) {
114
- return _model.apply(this, arguments);
115
- }
116
-
117
- function _model() {
118
- _model = _asyncToGenerator(function* (question, session, env) {
119
- var normalizedQuestion = normalize(question);
120
-
121
- if (normalizedQuestion.rubricType === RUBRIC_TYPES.SIMPLE_RUBRIC || normalizedQuestion.rubricType === RUBRIC_TYPES.RUBRICLESS) {
122
- return new Promise(resolve => {
123
- resolve(env && env.role && env.role === 'instructor' ? _objectSpread(_objectSpread({}, normalizedQuestion), {}, {
124
- rubrics: _objectSpread(_objectSpread({}, normalizedQuestion.rubrics), {}, {
125
- multiTraitRubric: _objectSpread(_objectSpread({}, normalizedQuestion.rubrics.multiTraitRubric), {}, {
126
- visible: false
127
- })
128
- })
129
- }) : {});
130
- });
131
- } else {
132
- if (!env.role || env.role === 'student' && normalizedQuestion.rubrics && normalizedQuestion.rubrics.multiTraitRubric) {
133
- normalizedQuestion.rubrics.multiTraitRubric.visible = normalizedQuestion.visibleToStudent;
134
- } else {
135
- normalizedQuestion.rubrics.multiTraitRubric.visible = true;
136
- } // todo update pie-ui instead of parsing this here:
137
-
138
-
139
- var {
140
- scales,
141
- excludeZero
142
- } = normalizedQuestion.rubrics.multiTraitRubric || {};
143
- var parsedScales = (scales || []).map(scale => _objectSpread(_objectSpread({}, scale), {}, {
144
- excludeZero
145
- }));
146
- return _objectSpread(_objectSpread({}, normalizedQuestion), {}, {
147
- rubrics: _objectSpread(_objectSpread({}, normalizedQuestion.rubrics), {}, {
148
- simpleRubric: _objectSpread(_objectSpread({}, normalizedQuestion.rubrics.simpleRubric), {}, {
149
- visible: false
150
- }),
151
- rubricless: _objectSpread(_objectSpread({}, normalizedQuestion.rubrics.rubricless), {}, {
152
- visible: false
153
- }),
154
- multiTraitRubric: _objectSpread(_objectSpread({}, normalizedQuestion.rubrics.multiTraitRubric), {}, {
155
- scales: parsedScales
156
- })
157
- })
158
- });
159
- }
160
- });
161
- return _model.apply(this, arguments);
162
- }
163
-
164
- var getScore = () => 0;
165
- /**
166
- * @param {Object} model - the main model
167
- * @param {*} session
168
- * @param {Object} env
169
- */
170
-
171
- function outcome() {
172
- return new Promise(resolve => resolve({
173
- score: 0,
174
- empty: true
175
- }));
176
- }
177
- var createCorrectResponseSession = (question, env) => {
178
- return new Promise(resolve => {
179
- if (env.mode !== 'evaluate' && env.role === 'instructor') {
180
- resolve({
181
- id: '1'
182
- });
183
- } else {
184
- resolve(null);
185
- }
186
- });
187
- }; // IMPORTANT! This function is a duplicate of rubric/controller/validate function!
188
- // If you make any changes to this function, please make sure you also update rubric/controller/validate function!“.
189
-
190
- var validateSimpleRubric = model => {
191
- var {
192
- points
193
- } = model;
194
- var errors = {};
195
- var pointsDescriptorsErrors = {};
196
- (points || []).forEach((point, index) => {
197
- if (!point || point === '<div></div>') {
198
- pointsDescriptorsErrors[index] = 'Points descriptors cannot be empty.';
199
- } else {
200
- var identicalPointDescr = points.slice(index + 1).some(p => markupToText(p) === markupToText(point));
201
-
202
- if (identicalPointDescr) {
203
- pointsDescriptorsErrors[index] = 'Points descriptors should be unique.';
204
- }
205
- }
206
- });
207
-
208
- if (Object.keys(pointsDescriptorsErrors).length > 0) {
209
- errors.pointsDescriptorsErrors = pointsDescriptorsErrors;
210
- }
211
-
212
- return errors;
213
- }; // IMPORTANT! This function is a duplicate of multi-trait-rubric/controller/validate function!
214
- // If you make any changes to this function, please make sure you also update multi-trait-rubric/controller/validate function!“.
215
-
216
-
217
- var validateMultiTraitRubric = model => {
218
- var {
219
- scales,
220
- description = false,
221
- pointLabels = false
222
- } = model;
223
- var errors = {};
224
- var traitsErrors = {};
225
- var scorePointsErrors = {};
226
- (scales || []).forEach((scale, scaleIndex) => {
227
- var {
228
- traits = []
229
- } = scale;
230
- var {
231
- scorePointsLabels = []
232
- } = scale;
233
- var scaleErrors = {};
234
- var scorePointsLabelsErrors = {};
235
-
236
- if (pointLabels) {
237
- scorePointsLabels.forEach((scorePointLabel, scoreIndex) => {
238
- if (!scorePointLabel || scorePointLabel === '<div></div>') {
239
- scorePointsLabelsErrors[scoreIndex] = 'Points labels should not be empty.';
240
- } else {
241
- var identicalScorePointLabel = scorePointsLabels.slice(scoreIndex + 1).some(s => markupToText(s) === markupToText(scorePointLabel));
242
-
243
- if (identicalScorePointLabel) {
244
- scorePointsLabelsErrors[scoreIndex] = 'Points labels should be unique.';
245
- }
246
- }
247
- });
248
- }
249
-
250
- if (Object.keys(scorePointsLabelsErrors).length > 0) {
251
- scorePointsErrors[scaleIndex] = scorePointsLabelsErrors;
252
- }
253
-
254
- traits.forEach((trait, traitIndex) => {
255
- if (!trait.name || trait.name === '<div></div>') {
256
- scaleErrors[traitIndex] = {
257
- name: 'Trait names should not be empty.'
258
- };
259
- } else {
260
- var identicalTraitName = traits.slice(traitIndex + 1).some(t => markupToText(t.name) === markupToText(trait.name));
261
-
262
- if (identicalTraitName) {
263
- scaleErrors[traitIndex] = {
264
- name: 'Trait names should be unique.'
265
- };
266
- }
267
- }
268
-
269
- if (description && (!trait.description || trait.description === '<div></div>')) {
270
- scaleErrors[traitIndex] = _objectSpread(_objectSpread({}, scaleErrors[traitIndex]), {}, {
271
- description: 'Trait description should not be empty'
272
- });
273
- } else {
274
- var identicalTraitDescr = traits.slice(traitIndex + 1).some(t => markupToText(t.description) === markupToText(trait.description));
275
-
276
- if (description && identicalTraitDescr) {
277
- scaleErrors[traitIndex] = _objectSpread(_objectSpread({}, scaleErrors[traitIndex]), {}, {
278
- description: 'Trait descriptions should be unique.'
279
- });
280
- }
281
- }
282
- });
283
-
284
- if (Object.keys(scaleErrors).length > 0) {
285
- traitsErrors[scaleIndex] = scaleErrors;
286
- }
287
- });
288
-
289
- if (Object.keys(traitsErrors).length > 0) {
290
- errors.traitsErrors = traitsErrors;
291
- }
292
-
293
- if (Object.keys(scorePointsErrors).length > 0) {
294
- errors.scorePointsErrors = scorePointsErrors;
295
- }
296
-
297
- return errors;
298
- };
299
-
300
- var validate = function validate() {
301
- var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
302
- var {
303
- rubrics = {},
304
- rubricType
305
- } = model;
306
- var {
307
- multiTraitRubric = {},
308
- simpleRubric = {}
309
- } = rubrics;
310
- var errors = {};
311
-
312
- switch (rubricType) {
313
- case RUBRIC_TYPES.SIMPLE_RUBRIC:
314
- default:
315
- errors = validateSimpleRubric(simpleRubric);
316
- break;
317
-
318
- case RUBRIC_TYPES.MULTI_TRAIT_RUBRIC:
319
- errors = validateMultiTraitRubric(multiTraitRubric);
320
- break;
321
- }
322
-
323
- return errors;
324
- };
325
-
326
- export { createCorrectResponseSession, createDefaultModel, getScore, model, normalize, outcome, validate };
327
- //# sourceMappingURL=controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"controller.js","sources":["../../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../controller/src/defaults.js","../controller/src/utils.js","../controller/src/index.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","// todo the import from pie-lib/rubric WILL break pslb\n// so don't use it unless you also test \"yarn build\"\nconst RUBRIC_TYPES = {\n SIMPLE_RUBRIC: 'simpleRubric',\n MULTI_TRAIT_RUBRIC: 'multiTraitRubric',\n 'rubricless': 'rubricless',\n};\n\nconst multiTraitDefaultModel = {\n description: false,\n excludeZero: false,\n halfScoring: false,\n pointLabels: true,\n scales: [],\n standards: false,\n visibleToStudent: true,\n};\n\nconst rubricDefaultModel = {\n points: ['', '', '', ''],\n sampleAnswers: [null, null, null, null],\n maxPoints: 3,\n excludeZero: false,\n};\n\nconst rubriclessDefaultModel = {\n maxPoints: 100,\n excludeZero: false,\n rubriclessInstructionEnabled: true,\n};\n\nexport default {\n rubricType: 'simpleRubric',\n rubrics: {\n [RUBRIC_TYPES.SIMPLE_RUBRIC]: rubricDefaultModel,\n [RUBRIC_TYPES.MULTI_TRAIT_RUBRIC]: multiTraitDefaultModel,\n [RUBRIC_TYPES.RUBRICLESS]: rubriclessDefaultModel,\n },\n};\n","export const markupToText = (s) => {\n return (s || '').replace(/(<([^>]+)>)/ig, '');\n};\n","import defaults from './defaults';\nimport { markupToText } from './utils';\n\n\n// todo the import from pie-lib/rubric WILL break pslb\n// so don't use it unless you also test \"yarn build\"\nconst RUBRIC_TYPES = {\n SIMPLE_RUBRIC: 'simpleRubric',\n MULTI_TRAIT_RUBRIC: 'multiTraitRubric',\n 'rubricless': 'rubricless',\n};\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => resolve({ ...defaults, ...model }));\n}\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\n/**\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const normalizedQuestion = normalize(question);\n\n if (\n normalizedQuestion.rubricType === RUBRIC_TYPES.SIMPLE_RUBRIC ||\n normalizedQuestion.rubricType === RUBRIC_TYPES.RUBRICLESS\n ) {\n return new Promise((resolve) => {\n resolve(\n env && env.role && env.role === 'instructor'\n ? {\n ...normalizedQuestion,\n rubrics: {\n ...normalizedQuestion.rubrics,\n multiTraitRubric: {\n ...normalizedQuestion.rubrics.multiTraitRubric,\n visible: false,\n },\n },\n }\n : {},\n );\n });\n } else {\n if (\n !env.role ||\n (env.role === 'student' && normalizedQuestion.rubrics && normalizedQuestion.rubrics.multiTraitRubric)\n ) {\n normalizedQuestion.rubrics.multiTraitRubric.visible = normalizedQuestion.visibleToStudent;\n } else {\n normalizedQuestion.rubrics.multiTraitRubric.visible = true;\n }\n\n // todo update pie-ui instead of parsing this here:\n const { scales, excludeZero } = normalizedQuestion.rubrics.multiTraitRubric || {};\n const parsedScales = (scales || []).map((scale) => ({ ...scale, excludeZero }));\n\n return {\n ...normalizedQuestion,\n rubrics: {\n ...normalizedQuestion.rubrics,\n simpleRubric: {\n ...normalizedQuestion.rubrics.simpleRubric,\n visible: false,\n },\n rubricless: {\n ...normalizedQuestion.rubrics.rubricless,\n visible: false,\n },\n multiTraitRubric: {\n ...normalizedQuestion.rubrics.multiTraitRubric,\n scales: parsedScales,\n },\n },\n };\n }\n}\n\nexport const getScore = () => 0;\n\n/**\n * @param {Object} model - the main model\n * @param {*} session\n * @param {Object} env\n */\nexport function outcome() {\n return new Promise((resolve) => resolve({ score: 0, empty: true }));\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n resolve({ id: '1' });\n } else {\n resolve(null);\n }\n });\n};\n\n// IMPORTANT! This function is a duplicate of rubric/controller/validate function!\n// If you make any changes to this function, please make sure you also update rubric/controller/validate function!“.\nconst validateSimpleRubric = (model) => {\n const { points } = model;\n const errors = {};\n const pointsDescriptorsErrors = {};\n\n (points || []).forEach((point, index) => {\n\n if (!point || point === '<div></div>') {\n pointsDescriptorsErrors[index] = 'Points descriptors cannot be empty.';\n } else {\n const identicalPointDescr = points.slice(index + 1).some((p) => markupToText(p) === markupToText(point));\n\n if (identicalPointDescr) {\n pointsDescriptorsErrors[index] = 'Points descriptors should be unique.';\n }\n }\n });\n\n if (Object.keys(pointsDescriptorsErrors).length > 0) {\n errors.pointsDescriptorsErrors = pointsDescriptorsErrors;\n }\n\n return errors;\n};\n\n// IMPORTANT! This function is a duplicate of multi-trait-rubric/controller/validate function!\n// If you make any changes to this function, please make sure you also update multi-trait-rubric/controller/validate function!“.\nconst validateMultiTraitRubric = (model) => {\n const { scales, description = false, pointLabels = false } = model;\n const errors = {};\n const traitsErrors = {};\n const scorePointsErrors = {};\n\n (scales || []).forEach((scale, scaleIndex) => {\n const { traits = [] } = scale;\n const { scorePointsLabels = [] } = scale;\n const scaleErrors = {};\n const scorePointsLabelsErrors = {};\n\n if (pointLabels) {\n scorePointsLabels.forEach((scorePointLabel, scoreIndex) => {\n if (!scorePointLabel || scorePointLabel === '<div></div>') {\n scorePointsLabelsErrors[scoreIndex] = 'Points labels should not be empty.';\n } else {\n const identicalScorePointLabel = scorePointsLabels\n .slice(scoreIndex + 1)\n .some((s) => markupToText(s) === markupToText(scorePointLabel));\n\n if (identicalScorePointLabel) {\n scorePointsLabelsErrors[scoreIndex] = 'Points labels should be unique.';\n }\n }\n });\n }\n\n if (Object.keys(scorePointsLabelsErrors).length > 0) {\n scorePointsErrors[scaleIndex] = scorePointsLabelsErrors;\n }\n\n traits.forEach((trait, traitIndex) => {\n if (!trait.name || trait.name === '<div></div>') {\n scaleErrors[traitIndex] = { name: 'Trait names should not be empty.' };\n } else {\n const identicalTraitName = traits\n .slice(traitIndex + 1)\n .some((t) => markupToText(t.name) === markupToText(trait.name));\n\n if (identicalTraitName) {\n scaleErrors[traitIndex] = { name: 'Trait names should be unique.' };\n }\n }\n if (description && (!trait.description || trait.description === '<div></div>')) {\n scaleErrors[traitIndex] = { ...scaleErrors[traitIndex], description: 'Trait description should not be empty' };\n } else {\n const identicalTraitDescr = traits\n .slice(traitIndex + 1)\n .some((t) => markupToText(t.description) === markupToText(trait.description));\n\n if (description && identicalTraitDescr) {\n scaleErrors[traitIndex] = { ...scaleErrors[traitIndex], description: 'Trait descriptions should be unique.' };\n }\n }\n });\n if (Object.keys(scaleErrors).length > 0) {\n traitsErrors[scaleIndex] = scaleErrors;\n }\n });\n\n if (Object.keys(traitsErrors).length > 0) {\n errors.traitsErrors = traitsErrors;\n }\n\n if (Object.keys(scorePointsErrors).length > 0) {\n errors.scorePointsErrors = scorePointsErrors;\n }\n\n return errors;\n};\n\nexport const validate = (model = {}, config = {}) => {\n const { rubrics = {}, rubricType } = model;\n const { multiTraitRubric = {}, simpleRubric = {} } = rubrics;\n let errors = {};\n\n switch (rubricType) {\n case RUBRIC_TYPES.SIMPLE_RUBRIC:\n default:\n errors = validateSimpleRubric(simpleRubric);\n break;\n case RUBRIC_TYPES.MULTI_TRAIT_RUBRIC:\n errors = validateMultiTraitRubric(multiTraitRubric);\n break;\n }\n\n return errors;\n};\n"],"names":["RUBRIC_TYPES","SIMPLE_RUBRIC","MULTI_TRAIT_RUBRIC","multiTraitDefaultModel","description","excludeZero","halfScoring","pointLabels","scales","standards","visibleToStudent","rubricDefaultModel","points","sampleAnswers","maxPoints","rubriclessDefaultModel","rubriclessInstructionEnabled","rubricType","rubrics","RUBRICLESS","markupToText","s","replace","createDefaultModel","model","Promise","resolve","defaults","normalize","question","session","env","normalizedQuestion","role","multiTraitRubric","visible","parsedScales","map","scale","simpleRubric","rubricless","getScore","outcome","score","empty","createCorrectResponseSession","mode","id","validateSimpleRubric","errors","pointsDescriptorsErrors","forEach","point","index","identicalPointDescr","slice","some","p","Object","keys","length","validateMultiTraitRubric","traitsErrors","scorePointsErrors","scaleIndex","traits","scorePointsLabels","scaleErrors","scorePointsLabelsErrors","scorePointLabel","scoreIndex","identicalScorePointLabel","trait","traitIndex","name","identicalTraitName","t","identicalTraitDescr","validate"],"mappings":"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"}
package/esm/element.js DELETED
@@ -1,179 +0,0 @@
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
- function _defineProperty(obj, key, value) {
6
- if (key in obj) {
7
- Object.defineProperty(obj, key, {
8
- value: value,
9
- enumerable: true,
10
- configurable: true,
11
- writable: true
12
- });
13
- } else {
14
- obj[key] = value;
15
- }
16
-
17
- return obj;
18
- }
19
-
20
- 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; }
21
-
22
- 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) { _defineProperty(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; }
23
- var RUBRIC_TAG_NAME = 'complex-rubric-simple';
24
- var MULTI_TRAIT_RUBRIC_TAG_NAME = 'complex-rubric-multi-trait';
25
-
26
- class ComplexRubricSimple extends Rubric {}
27
-
28
- class ComplexRubricMultiTrait extends MultiTraitRubric {}
29
-
30
- var defineRubrics = () => {
31
- if (!customElements.get(RUBRIC_TAG_NAME)) {
32
- customElements.define(RUBRIC_TAG_NAME, ComplexRubricSimple);
33
- }
34
-
35
- if (!customElements.get(MULTI_TRAIT_RUBRIC_TAG_NAME)) {
36
- customElements.define(MULTI_TRAIT_RUBRIC_TAG_NAME, ComplexRubricMultiTrait);
37
- }
38
- };
39
-
40
- defineRubrics();
41
-
42
- class ComplexRubric extends HTMLElement {
43
- constructor() {
44
- super();
45
- this._model = {};
46
- this._type = RUBRIC_TYPES.SIMPLE_RUBRIC;
47
- }
48
-
49
- set type(t) {
50
- this._type = t;
51
- }
52
-
53
- get type() {
54
- return this._type;
55
- }
56
-
57
- set model(m) {
58
- this._model = m;
59
- var oldType = this._type;
60
- this.type = m.rubricType;
61
-
62
- switch (this._type) {
63
- case RUBRIC_TYPES.SIMPLE_RUBRIC:
64
- default:
65
- customElements.whenDefined(RUBRIC_TAG_NAME).then(() => {
66
- this.setRubricModel(this.simpleRubric);
67
- });
68
- break;
69
-
70
- case RUBRIC_TYPES.MULTI_TRAIT_RUBRIC:
71
- customElements.whenDefined(MULTI_TRAIT_RUBRIC_TAG_NAME).then(() => {
72
- this.setMultiTraitRubricModel(this.multiTraitRubric);
73
- });
74
- break;
75
-
76
- case RUBRIC_TYPES.RUBRICLESS:
77
- customElements.whenDefined(RUBRIC_TAG_NAME).then(() => {
78
- this.setRubriclessModel(this.rubricless);
79
- });
80
- break;
81
- }
82
-
83
- if (oldType !== this.type) {
84
- this._render();
85
- }
86
- }
87
-
88
- setRubricModel(simpleRubric) {
89
- if (this._model && this._model.rubrics && this._model.rubrics.simpleRubric) {
90
- var {
91
- mode
92
- } = this._model;
93
- simpleRubric.model = _objectSpread(_objectSpread({}, this._model.rubrics.simpleRubric), {}, {
94
- mode
95
- });
96
- }
97
- }
98
-
99
- setMultiTraitRubricModel(multiTraitRubric) {
100
- if (this._model && this._model.rubrics && this._model.rubrics.multiTraitRubric) {
101
- var {
102
- mode
103
- } = this._model;
104
- multiTraitRubric.model = _objectSpread(_objectSpread({}, this._model.rubrics.multiTraitRubric), {}, {
105
- mode
106
- });
107
- }
108
- }
109
-
110
- setRubriclessModel(rubricless) {
111
- if (this._model && this._model.rubrics && this._model.rubrics.rubricless) {
112
- var {
113
- mode
114
- } = this._model;
115
- rubricless.model = _objectSpread(_objectSpread({}, this._model.rubrics.rubricless), {}, {
116
- mode
117
- });
118
- }
119
- }
120
-
121
- get multiTraitRubric() {
122
- return this.querySelector("".concat(MULTI_TRAIT_RUBRIC_TAG_NAME, "#multiTraitRubric"));
123
- }
124
-
125
- get simpleRubric() {
126
- return this.querySelector("".concat(RUBRIC_TAG_NAME, "#simpleRubric"));
127
- }
128
-
129
- get rubricless() {
130
- return this.querySelector("".concat(RUBRIC_TAG_NAME, "#rubricless"));
131
- }
132
-
133
- connectedCallback() {
134
- this._render();
135
- }
136
-
137
- _render() {
138
- var rubricTag;
139
-
140
- if (this._type === RUBRIC_TYPES.SIMPLE_RUBRIC) {
141
- rubricTag = "<".concat(RUBRIC_TAG_NAME, " id=\"simpleRubric\" />");
142
- } else if (this._type === RUBRIC_TYPES.RUBRICLESS) {
143
- rubricTag = "<".concat(RUBRIC_TAG_NAME, " id=\"rubricless\" />");
144
- } else {
145
- rubricTag = "<".concat(MULTI_TRAIT_RUBRIC_TAG_NAME, " id=\"multiTraitRubric\" />");
146
- }
147
-
148
- this.innerHTML = rubricTag; // when item is re-rendered (due to connectedCallback), if the custom element is already defined,
149
- // we need to set the model and session, otherwise the setters are not reached again
150
-
151
- switch (this._type) {
152
- case RUBRIC_TYPES.SIMPLE_RUBRIC:
153
- default:
154
- if (customElements.get(RUBRIC_TAG_NAME)) {
155
- this.setRubricModel(this.simpleRubric);
156
- }
157
-
158
- break;
159
-
160
- case RUBRIC_TYPES.MULTI_TRAIT_RUBRIC:
161
- if (customElements.get(MULTI_TRAIT_RUBRIC_TAG_NAME)) {
162
- this.setMultiTraitRubricModel(this.multiTraitRubric);
163
- }
164
-
165
- break;
166
-
167
- case RUBRIC_TYPES.RUBRICLESS:
168
- if (customElements.get(RUBRIC_TAG_NAME)) {
169
- this.setRubriclessModel(this.rubricless);
170
- }
171
-
172
- break;
173
- }
174
- }
175
-
176
- }
177
-
178
- export { ComplexRubric as default };
179
- //# sourceMappingURL=element.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"element.js","sources":["../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../src/index.js"],"sourcesContent":["export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","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\nclass ComplexRubricMultiTrait extends MultiTraitRubric {}\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 } else if (this._type === RUBRIC_TYPES.RUBRICLESS) {\n rubricTag = `<${RUBRIC_TAG_NAME} id=\"rubricless\" />`;\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\nexport default ComplexRubric;\n"],"names":["RUBRIC_TAG_NAME","MULTI_TRAIT_RUBRIC_TAG_NAME","ComplexRubricSimple","Rubric","ComplexRubricMultiTrait","MultiTraitRubric","defineRubrics","customElements","get","define","ComplexRubric","HTMLElement","constructor","_model","_type","RUBRIC_TYPES","SIMPLE_RUBRIC","type","t","model","m","oldType","rubricType","whenDefined","then","setRubricModel","simpleRubric","MULTI_TRAIT_RUBRIC","setMultiTraitRubricModel","multiTraitRubric","RUBRICLESS","setRubriclessModel","rubricless","_render","rubrics","mode","querySelector","connectedCallback","rubricTag","innerHTML"],"mappings":"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"}