@pie-element/matrix 2.0.1 → 2.1.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 +8 -0
- package/configure/CHANGELOG.md +8 -0
- package/configure/package.json +4 -4
- package/controller/CHANGELOG.md +8 -0
- package/controller/package.json +1 -1
- package/package.json +5 -22
- package/esm/configure.js +0 -18627
- package/esm/configure.js.map +0 -1
- package/esm/controller.js +0 -161
- package/esm/controller.js.map +0 -1
- package/esm/element.js +0 -12371
- package/esm/element.js.map +0 -1
package/esm/controller.js
DELETED
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import isEmpty from 'lodash/isEmpty';
|
|
2
|
-
|
|
3
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
4
|
-
try {
|
|
5
|
-
var info = gen[key](arg);
|
|
6
|
-
var value = info.value;
|
|
7
|
-
} catch (error) {
|
|
8
|
-
reject(error);
|
|
9
|
-
return;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
if (info.done) {
|
|
13
|
-
resolve(value);
|
|
14
|
-
} else {
|
|
15
|
-
Promise.resolve(value).then(_next, _throw);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function _asyncToGenerator(fn) {
|
|
20
|
-
return function () {
|
|
21
|
-
var self = this,
|
|
22
|
-
args = arguments;
|
|
23
|
-
return new Promise(function (resolve, reject) {
|
|
24
|
-
var gen = fn.apply(self, args);
|
|
25
|
-
|
|
26
|
-
function _next(value) {
|
|
27
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
function _throw(err) {
|
|
31
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
_next(undefined);
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
function _defineProperty(obj, key, value) {
|
|
40
|
-
if (key in obj) {
|
|
41
|
-
Object.defineProperty(obj, key, {
|
|
42
|
-
value: value,
|
|
43
|
-
enumerable: true,
|
|
44
|
-
configurable: true,
|
|
45
|
-
writable: true
|
|
46
|
-
});
|
|
47
|
-
} else {
|
|
48
|
-
obj[key] = value;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return obj;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
var defaults = {
|
|
55
|
-
columnLabels: ['COLUMN 1', 'COLUMN 2', 'COLUMN 3'],
|
|
56
|
-
labelType: 'agreement',
|
|
57
|
-
matrixValues: {},
|
|
58
|
-
prompt: '',
|
|
59
|
-
promptEnabled: true,
|
|
60
|
-
rowLabels: ['STATEMENT 1', 'STATEMENT 2'],
|
|
61
|
-
teacherInstructions: '',
|
|
62
|
-
teacherInstructionsEnabled: true
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
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; }
|
|
66
|
-
|
|
67
|
-
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; }
|
|
68
|
-
var createDefaultModel = function createDefaultModel() {
|
|
69
|
-
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
70
|
-
return new Promise(resolve => resolve(_objectSpread(_objectSpread({}, defaults), model)));
|
|
71
|
-
};
|
|
72
|
-
/**
|
|
73
|
-
*
|
|
74
|
-
* @param {*} question
|
|
75
|
-
* @param {*} session
|
|
76
|
-
* @param {*} env
|
|
77
|
-
*/
|
|
78
|
-
|
|
79
|
-
function model(_x, _x2, _x3) {
|
|
80
|
-
return _model.apply(this, arguments);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
function _model() {
|
|
84
|
-
_model = _asyncToGenerator(function* (question, session, env) {
|
|
85
|
-
var normalizedQuestion = _objectSpread(_objectSpread({}, defaults), question);
|
|
86
|
-
|
|
87
|
-
var out = _objectSpread(_objectSpread({}, normalizedQuestion), {}, {
|
|
88
|
-
disabled: env.mode !== 'gather',
|
|
89
|
-
mode: env.mode
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
var {
|
|
93
|
-
role,
|
|
94
|
-
mode
|
|
95
|
-
} = env || {};
|
|
96
|
-
|
|
97
|
-
if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {
|
|
98
|
-
out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;
|
|
99
|
-
} else {
|
|
100
|
-
out.teacherInstructions = null;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
return out;
|
|
104
|
-
});
|
|
105
|
-
return _model.apply(this, arguments);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
function outcome(model, session) {
|
|
109
|
-
return new Promise(resolve => {
|
|
110
|
-
if (!session || isEmpty(session)) {
|
|
111
|
-
return resolve({
|
|
112
|
-
score: 0,
|
|
113
|
-
empty: true
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
var score = Object.keys(session.value).reduce((acc, key) => {
|
|
118
|
-
var matrixValue = model.matrixValues[key];
|
|
119
|
-
return acc + (matrixValue || 0);
|
|
120
|
-
}, 0);
|
|
121
|
-
resolve({
|
|
122
|
-
score,
|
|
123
|
-
empty: false
|
|
124
|
-
});
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
var createCorrectResponseSession = (question, env) => {
|
|
128
|
-
return new Promise(resolve => {
|
|
129
|
-
if (env.mode !== 'evaluate' && env.role === 'instructor') {
|
|
130
|
-
var {
|
|
131
|
-
matrixValues
|
|
132
|
-
} = question || [];
|
|
133
|
-
resolve({
|
|
134
|
-
id: '1',
|
|
135
|
-
value: matrixValues
|
|
136
|
-
});
|
|
137
|
-
} else {
|
|
138
|
-
resolve(null);
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
}; // remove all html tags
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
var getContent = html => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');
|
|
145
|
-
|
|
146
|
-
var validate = function validate() {
|
|
147
|
-
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
148
|
-
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
149
|
-
var errors = {};
|
|
150
|
-
['teacherInstructions', 'prompt'].forEach(field => {
|
|
151
|
-
var _config$field;
|
|
152
|
-
|
|
153
|
-
if ((_config$field = config[field]) !== null && _config$field !== void 0 && _config$field.required && !getContent(model[field])) {
|
|
154
|
-
errors[field] = 'This field is required.';
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
return errors;
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
export { createCorrectResponseSession, createDefaultModel, model, outcome, validate };
|
|
161
|
-
//# sourceMappingURL=controller.js.map
|
package/esm/controller.js.map
DELETED
|
@@ -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/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}","export default {\n columnLabels: ['COLUMN 1', 'COLUMN 2', 'COLUMN 3'],\n labelType: 'agreement',\n matrixValues: {},\n prompt: '',\n promptEnabled: true,\n rowLabels: ['STATEMENT 1', 'STATEMENT 2'],\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n};\n","import defaults from './defaults';\nimport isEmpty from 'lodash/isEmpty';\n\nexport const createDefaultModel = (model = {}) => new Promise((resolve) => resolve({ ...defaults, ...model }));\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const normalizedQuestion = { ...defaults, ...question };\n\n const out = {\n ...normalizedQuestion,\n disabled: env.mode !== 'gather',\n mode: env.mode,\n };\n\n const { role, mode } = env || {};\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n } else {\n out.teacherInstructions = null;\n }\n\n return out;\n}\n\nexport function outcome(model, session) {\n return new Promise((resolve) => {\n if (!session || isEmpty(session)) {\n return resolve({ score: 0, empty: true });\n }\n\n const score = Object.keys(session.value).reduce((acc, key) => {\n const matrixValue = model.matrixValues[key];\n return acc + (matrixValue || 0);\n }, 0);\n\n resolve({ score, empty: false });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { matrixValues } = question || [];\n\n resolve({\n id: '1',\n value: matrixValues,\n });\n } else {\n resolve(null);\n }\n });\n};\n\n// remove all html tags\nconst getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\n\n// remove all html tags except img, iframe and source tag for audio\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const errors = {};\n\n ['teacherInstructions', 'prompt'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n return errors;\n};\n"],"names":["columnLabels","labelType","matrixValues","prompt","promptEnabled","rowLabels","teacherInstructions","teacherInstructionsEnabled","createDefaultModel","model","Promise","resolve","defaults","question","session","env","normalizedQuestion","out","disabled","mode","role","outcome","isEmpty","score","empty","Object","keys","value","reduce","acc","key","matrixValue","createCorrectResponseSession","id","getContent","html","replace","validate","config","errors","forEach","field","required"],"mappings":"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"}
|