@pie-element/passage 5.0.2-esm.0 → 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/CHANGELOG.md +19 -0
- package/configure/CHANGELOG.md +19 -0
- package/configure/package.json +3 -3
- package/controller/CHANGELOG.md +16 -0
- package/controller/package.json +1 -1
- package/lib/stimulus-tabs.js +2 -2
- package/lib/stimulus-tabs.js.map +1 -1
- package/module/configure.js +1 -1
- package/module/element.js +1 -1
- package/module/index.html +1 -1
- package/module/manifest.json +2 -2
- package/module/print.html +1 -1
- package/module/print.js +1 -1
- package/package.json +6 -24
- package/esm/configure.css +0 -847
- package/esm/configure.js +0 -708
- package/esm/configure.js.map +0 -1
- package/esm/controller.css +0 -847
- package/esm/controller.js +0 -111
- package/esm/controller.js.map +0 -1
- package/esm/element.css +0 -847
- package/esm/element.js +0 -357
- package/esm/element.js.map +0 -1
- package/esm/print.css +0 -847
- package/esm/print.js +0 -351
- package/esm/print.js.map +0 -1
package/esm/controller.js
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import isEmpty from 'lodash/isEmpty';
|
|
2
|
-
|
|
3
|
-
function _extends() {
|
|
4
|
-
_extends = Object.assign || function (target) {
|
|
5
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
6
|
-
var source = arguments[i];
|
|
7
|
-
|
|
8
|
-
for (var key in source) {
|
|
9
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
10
|
-
target[key] = source[key];
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
return target;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
return _extends.apply(this, arguments);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
// TODO: also update '../../configure/src/defaults.js' and '../../src/print.js' when updating defaults
|
|
22
|
-
var defaults = {
|
|
23
|
-
authorEnabled: false,
|
|
24
|
-
// TODO: should be set to true when all Studio content is updated
|
|
25
|
-
passages: [{
|
|
26
|
-
teacherInstructions: '',
|
|
27
|
-
title: '',
|
|
28
|
-
subtitle: '',
|
|
29
|
-
author: '',
|
|
30
|
-
text: ''
|
|
31
|
-
}],
|
|
32
|
-
subtitleEnabled: true,
|
|
33
|
-
teacherInstructionsEnabled: true,
|
|
34
|
-
textEnabled: true,
|
|
35
|
-
titleEnabled: true
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
const getContent = html => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');
|
|
39
|
-
|
|
40
|
-
const checkNullish = value => value !== null && value !== undefined;
|
|
41
|
-
|
|
42
|
-
const isEnabled = (value, defaultValue) => checkNullish(value) ? value : defaultValue;
|
|
43
|
-
|
|
44
|
-
function createDefaultModel(model = {}) {
|
|
45
|
-
return new Promise(resolve => {
|
|
46
|
-
resolve(_extends({}, defaults, model));
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
const normalize = question => _extends({}, defaults, question);
|
|
50
|
-
|
|
51
|
-
const normalizeTeacherInstructions = (instructions, env) => {
|
|
52
|
-
const {
|
|
53
|
-
role,
|
|
54
|
-
mode
|
|
55
|
-
} = env;
|
|
56
|
-
|
|
57
|
-
if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {
|
|
58
|
-
return instructions || '';
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return '';
|
|
62
|
-
};
|
|
63
|
-
/**
|
|
64
|
-
*
|
|
65
|
-
* @param {*} question
|
|
66
|
-
* @param {*} session
|
|
67
|
-
* @param {*} env
|
|
68
|
-
*/
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
async function model(question, session, env) {
|
|
72
|
-
const normalizedQuestion = normalize(question);
|
|
73
|
-
const normalizedPassages = normalizedQuestion.passages.map((passage, index) => ({
|
|
74
|
-
teacherInstructions: isEnabled(passage.teacherInstructionsEnabled, normalizedQuestion.teacherInstructionsEnabled) ? normalizeTeacherInstructions(passage.teacherInstructions, env) : '',
|
|
75
|
-
label: getContent(passage.title) ? passage.title : `Passage ${index + 1}`,
|
|
76
|
-
title: isEnabled(passage.titleEnabled, normalizedQuestion.titleEnabled) ? passage.title || '' : '',
|
|
77
|
-
subtitle: isEnabled(passage.subtitleEnabled, normalizedQuestion.subtitleEnabled) ? passage.subtitle || '' : '',
|
|
78
|
-
author: isEnabled(passage.authorEnabled, normalizedQuestion.authorEnabled) ? passage.author || '' : '',
|
|
79
|
-
text: isEnabled(passage.textEnabled, normalizedQuestion.textEnabled) ? passage.text || '' : ''
|
|
80
|
-
}));
|
|
81
|
-
return _extends({}, normalizedQuestion, {
|
|
82
|
-
passages: normalizedPassages
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
const validate = (model = {}, config = {}) => {
|
|
86
|
-
const errors = {};
|
|
87
|
-
const passagesErrors = {};
|
|
88
|
-
(model.passages || []).forEach((passage, index) => {
|
|
89
|
-
const err = {};
|
|
90
|
-
['teacherInstructions', 'title', 'subtitle', 'author', 'text'].forEach(field => {
|
|
91
|
-
var _config$field;
|
|
92
|
-
|
|
93
|
-
if ((_config$field = config[field]) != null && _config$field.required && !getContent(passage[field])) {
|
|
94
|
-
err[field] = 'This field is required.';
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
if (!isEmpty(err)) {
|
|
99
|
-
passagesErrors[index] = err;
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
if (!isEmpty(passagesErrors)) {
|
|
104
|
-
errors.passages = passagesErrors;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
return errors;
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
export { createDefaultModel, model, normalize, validate };
|
|
111
|
-
//# sourceMappingURL=controller.js.map
|
package/esm/controller.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sources":["../controller/src/defaults.js","../controller/src/index.js"],"sourcesContent":["// TODO: also update '../../configure/src/defaults.js' and '../../src/print.js' when updating defaults\nexport default {\n authorEnabled: false, // TODO: should be set to true when all Studio content is updated\n passages: [\n {\n teacherInstructions: '',\n title: '',\n subtitle: '',\n author: '',\n text: '',\n },\n ],\n subtitleEnabled: true,\n teacherInstructionsEnabled: true,\n textEnabled: true,\n titleEnabled: true,\n};\n","import isEmpty from 'lodash/isEmpty';\n\nimport defaults from './defaults';\n\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nconst checkNullish = (value) => value !== null && value !== undefined;\n\nconst isEnabled = (value, defaultValue) => (checkNullish(value) ? value : defaultValue);\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => {\n resolve({ ...defaults, ...model });\n });\n}\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\nconst normalizeTeacherInstructions = (instructions, env) => {\n const { role, mode } = env;\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n return instructions || '';\n }\n\n return '';\n};\n\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 const normalizedPassages = normalizedQuestion.passages.map((passage, index) => ({\n teacherInstructions: isEnabled(passage.teacherInstructionsEnabled, normalizedQuestion.teacherInstructionsEnabled)\n ? normalizeTeacherInstructions(passage.teacherInstructions, env)\n : '',\n label: getContent(passage.title) ? passage.title : `Passage ${index + 1}`,\n title: isEnabled(passage.titleEnabled, normalizedQuestion.titleEnabled) ? passage.title || '' : '',\n subtitle: isEnabled(passage.subtitleEnabled, normalizedQuestion.subtitleEnabled) ? passage.subtitle || '' : '',\n author: isEnabled(passage.authorEnabled, normalizedQuestion.authorEnabled) ? passage.author || '' : '',\n text: isEnabled(passage.textEnabled, normalizedQuestion.textEnabled) ? passage.text || '' : '',\n }));\n\n return {\n ...normalizedQuestion,\n passages: normalizedPassages,\n };\n}\n\nexport const validate = (model = {}, config = {}) => {\n const errors = {};\n const passagesErrors = {};\n\n (model.passages || []).forEach((passage, index) => {\n const err = {};\n\n ['teacherInstructions', 'title', 'subtitle', 'author', 'text'].forEach((field) => {\n if (config[field]?.required && !getContent(passage[field])) {\n err[field] = 'This field is required.';\n }\n });\n\n if (!isEmpty(err)) {\n passagesErrors[index] = err;\n }\n });\n\n if (!isEmpty(passagesErrors)) {\n errors.passages = passagesErrors;\n }\n\n return errors;\n};\n"],"names":["authorEnabled","passages","teacherInstructions","title","subtitle","author","text","subtitleEnabled","teacherInstructionsEnabled","textEnabled","titleEnabled","getContent","html","replace","checkNullish","value","undefined","isEnabled","defaultValue","createDefaultModel","model","Promise","resolve","defaults","normalize","question","normalizeTeacherInstructions","instructions","env","role","mode","session","normalizedQuestion","normalizedPassages","map","passage","index","label","validate","config","errors","passagesErrors","forEach","err","field","required","isEmpty"],"mappings":"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"}
|