@pie-element/ebsr 9.2.0-next.1 → 9.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/LICENSE.md +5 -0
- package/configure/lib/defaults.js +1 -1
- package/configure/lib/index.js +1 -1
- package/configure/lib/main.js +1 -1
- package/controller/lib/defaults.js +1 -1
- package/controller/lib/index.js +1 -1
- package/controller/lib/utils.js +1 -1
- package/lib/index.js +1 -1
- package/lib/print.js +1 -1
- package/package.json +2 -2
- package/configure/lib/__tests__/index.test.js +0 -434
- package/controller/lib/__tests__/index.test.js +0 -732
- package/controller/lib/__tests__/utils.test.js +0 -52
- package/docs/demo/pie.manifest.json +0 -11
- package/lib/__tests__/index.test.js +0 -147
- package/module/demo.js +0 -77
- package/module/element.js +0 -2294
- package/module/index.html +0 -21
- package/module/manifest.json +0 -10
- package/module/print-demo.js +0 -115
- package/module/print.html +0 -18
- package/module/print.js +0 -2299
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _utils = require("../utils");
|
|
4
|
-
|
|
5
|
-
describe('isResponseCorrect', function () {
|
|
6
|
-
var question;
|
|
7
|
-
beforeEach(function () {
|
|
8
|
-
question = {
|
|
9
|
-
partA: {
|
|
10
|
-
choiceMode: 'radio',
|
|
11
|
-
feedbackEnabled: true,
|
|
12
|
-
choices: [{
|
|
13
|
-
value: 'yellow',
|
|
14
|
-
label: 'Yellow',
|
|
15
|
-
correct: true,
|
|
16
|
-
feedback: {
|
|
17
|
-
type: 'custom',
|
|
18
|
-
value: 'foo'
|
|
19
|
-
}
|
|
20
|
-
}, {
|
|
21
|
-
value: 'green',
|
|
22
|
-
label: 'Green',
|
|
23
|
-
feedback: {
|
|
24
|
-
type: 'default'
|
|
25
|
-
}
|
|
26
|
-
}],
|
|
27
|
-
choicePrefix: 'numbers',
|
|
28
|
-
prompt: "prompt partA"
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
var returnsIsResponseCorrect = function returnsIsResponseCorrect(session) {
|
|
34
|
-
it("response is not correct if session is ".concat(JSON.stringify(session)), function () {
|
|
35
|
-
expect((0, _utils.isResponseCorrect)(question.partA, 'partA', session)).toEqual(false);
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
returnsIsResponseCorrect(undefined);
|
|
40
|
-
returnsIsResponseCorrect(null);
|
|
41
|
-
returnsIsResponseCorrect({});
|
|
42
|
-
it('response is correct if session is defined', function () {
|
|
43
|
-
expect((0, _utils.isResponseCorrect)(question.partA, 'partA', {
|
|
44
|
-
value: {
|
|
45
|
-
partA: {
|
|
46
|
-
value: ['yellow']
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
})).toEqual(true);
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vdXRpbHMudGVzdC5qcyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsInF1ZXN0aW9uIiwiYmVmb3JlRWFjaCIsInBhcnRBIiwiY2hvaWNlTW9kZSIsImZlZWRiYWNrRW5hYmxlZCIsImNob2ljZXMiLCJ2YWx1ZSIsImxhYmVsIiwiY29ycmVjdCIsImZlZWRiYWNrIiwidHlwZSIsImNob2ljZVByZWZpeCIsInByb21wdCIsInJldHVybnNJc1Jlc3BvbnNlQ29ycmVjdCIsInNlc3Npb24iLCJpdCIsIkpTT04iLCJzdHJpbmdpZnkiLCJleHBlY3QiLCJ0b0VxdWFsIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOztBQUFBOztBQUVBQSxRQUFRLENBQUMsbUJBQUQsRUFBc0IsWUFBTTtBQUNsQyxNQUFJQyxRQUFKO0FBRUFDLEVBQUFBLFVBQVUsQ0FBQyxZQUFNO0FBQ2ZELElBQUFBLFFBQVEsR0FBRztBQUNURSxNQUFBQSxLQUFLLEVBQUU7QUFDTEMsUUFBQUEsVUFBVSxFQUFFLE9BRFA7QUFFTEMsUUFBQUEsZUFBZSxFQUFFLElBRlo7QUFHTEMsUUFBQUEsT0FBTyxFQUFFLENBQ1A7QUFDRUMsVUFBQUEsS0FBSyxFQUFFLFFBRFQ7QUFFRUMsVUFBQUEsS0FBSyxFQUFFLFFBRlQ7QUFHRUMsVUFBQUEsT0FBTyxFQUFFLElBSFg7QUFJRUMsVUFBQUEsUUFBUSxFQUFFO0FBQ1JDLFlBQUFBLElBQUksRUFBRSxRQURFO0FBRVJKLFlBQUFBLEtBQUssRUFBRTtBQUZDO0FBSlosU0FETyxFQVVQO0FBQ0VBLFVBQUFBLEtBQUssRUFBRSxPQURUO0FBRUVDLFVBQUFBLEtBQUssRUFBRSxPQUZUO0FBR0VFLFVBQUFBLFFBQVEsRUFBRTtBQUNSQyxZQUFBQSxJQUFJLEVBQUU7QUFERTtBQUhaLFNBVk8sQ0FISjtBQXFCTEMsUUFBQUEsWUFBWSxFQUFFLFNBckJUO0FBc0JMQyxRQUFBQSxNQUFNO0FBdEJEO0FBREUsS0FBWDtBQTBCRCxHQTNCUyxDQUFWOztBQTZCQSxNQUFNQyx3QkFBd0IsR0FBRyxTQUEzQkEsd0JBQTJCLENBQUNDLE9BQUQsRUFBYTtBQUM1Q0MsSUFBQUEsRUFBRSxpREFBMENDLElBQUksQ0FBQ0MsU0FBTCxDQUFlSCxPQUFmLENBQTFDLEdBQXFFLFlBQU07QUFDM0VJLE1BQUFBLE1BQU0sQ0FBQyw4QkFBa0JsQixRQUFRLENBQUNFLEtBQTNCLEVBQWtDLE9BQWxDLEVBQTJDWSxPQUEzQyxDQUFELENBQU4sQ0FBNERLLE9BQTVELENBQW9FLEtBQXBFO0FBQ0QsS0FGQyxDQUFGO0FBR0QsR0FKRDs7QUFNQU4sRUFBQUEsd0JBQXdCLENBQUNPLFNBQUQsQ0FBeEI7QUFDQVAsRUFBQUEsd0JBQXdCLENBQUMsSUFBRCxDQUF4QjtBQUNBQSxFQUFBQSx3QkFBd0IsQ0FBQyxFQUFELENBQXhCO0FBRUFFLEVBQUFBLEVBQUUsQ0FBQywyQ0FBRCxFQUE4QyxZQUFNO0FBQ3BERyxJQUFBQSxNQUFNLENBQUMsOEJBQWtCbEIsUUFBUSxDQUFDRSxLQUEzQixFQUFrQyxPQUFsQyxFQUEyQztBQUFFSSxNQUFBQSxLQUFLLEVBQUU7QUFBRUosUUFBQUEsS0FBSyxFQUFFO0FBQUVJLFVBQUFBLEtBQUssRUFBRSxDQUFDLFFBQUQ7QUFBVDtBQUFUO0FBQVQsS0FBM0MsQ0FBRCxDQUFOLENBQWdHYSxPQUFoRyxDQUF3RyxJQUF4RztBQUNELEdBRkMsQ0FBRjtBQUdELENBN0NPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1Jlc3BvbnNlQ29ycmVjdCB9IGZyb20gJy4uL3V0aWxzJztcblxuZGVzY3JpYmUoJ2lzUmVzcG9uc2VDb3JyZWN0JywgKCkgPT4ge1xuICBsZXQgcXVlc3Rpb247XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgcXVlc3Rpb24gPSB7XG4gICAgICBwYXJ0QToge1xuICAgICAgICBjaG9pY2VNb2RlOiAncmFkaW8nLFxuICAgICAgICBmZWVkYmFja0VuYWJsZWQ6IHRydWUsXG4gICAgICAgIGNob2ljZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YWx1ZTogJ3llbGxvdycsXG4gICAgICAgICAgICBsYWJlbDogJ1llbGxvdycsXG4gICAgICAgICAgICBjb3JyZWN0OiB0cnVlLFxuICAgICAgICAgICAgZmVlZGJhY2s6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ2N1c3RvbScsXG4gICAgICAgICAgICAgIHZhbHVlOiAnZm9vJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YWx1ZTogJ2dyZWVuJyxcbiAgICAgICAgICAgIGxhYmVsOiAnR3JlZW4nLFxuICAgICAgICAgICAgZmVlZGJhY2s6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ2RlZmF1bHQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBjaG9pY2VQcmVmaXg6ICdudW1iZXJzJyxcbiAgICAgICAgcHJvbXB0OiBgcHJvbXB0IHBhcnRBYCxcbiAgICAgIH0sXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3QgcmV0dXJuc0lzUmVzcG9uc2VDb3JyZWN0ID0gKHNlc3Npb24pID0+IHtcbiAgICBpdChgcmVzcG9uc2UgaXMgbm90IGNvcnJlY3QgaWYgc2Vzc2lvbiBpcyAke0pTT04uc3RyaW5naWZ5KHNlc3Npb24pfWAsICgpID0+IHtcbiAgICAgIGV4cGVjdChpc1Jlc3BvbnNlQ29ycmVjdChxdWVzdGlvbi5wYXJ0QSwgJ3BhcnRBJywgc2Vzc2lvbikpLnRvRXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuICB9O1xuXG4gIHJldHVybnNJc1Jlc3BvbnNlQ29ycmVjdCh1bmRlZmluZWQpO1xuICByZXR1cm5zSXNSZXNwb25zZUNvcnJlY3QobnVsbCk7XG4gIHJldHVybnNJc1Jlc3BvbnNlQ29ycmVjdCh7fSk7XG5cbiAgaXQoJ3Jlc3BvbnNlIGlzIGNvcnJlY3QgaWYgc2Vzc2lvbiBpcyBkZWZpbmVkJywgKCkgPT4ge1xuICAgIGV4cGVjdChpc1Jlc3BvbnNlQ29ycmVjdChxdWVzdGlvbi5wYXJ0QSwgJ3BhcnRBJywgeyB2YWx1ZTogeyBwYXJ0QTogeyB2YWx1ZTogWyd5ZWxsb3cnXSB9IH0gfSkpLnRvRXF1YWwodHJ1ZSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
|
|
7
|
-
var _piePlayerEvents = require("@pie-framework/pie-player-events");
|
|
8
|
-
|
|
9
|
-
var _ = require("..");
|
|
10
|
-
|
|
11
|
-
jest.mock('@pie-lib/pie-toolbox/math-rendering', function () {
|
|
12
|
-
return {
|
|
13
|
-
renderMath: jest.fn()
|
|
14
|
-
};
|
|
15
|
-
});
|
|
16
|
-
jest.mock('@pie-element/multiple-choice', function () {
|
|
17
|
-
return jest.fn();
|
|
18
|
-
});
|
|
19
|
-
var PART_A = 'partA';
|
|
20
|
-
var PART_B = 'partB';
|
|
21
|
-
var defaultModel = {
|
|
22
|
-
disabled: false,
|
|
23
|
-
mode: 'gather',
|
|
24
|
-
partA: {
|
|
25
|
-
choiceMode: 'radio',
|
|
26
|
-
choices: [{
|
|
27
|
-
value: 'a',
|
|
28
|
-
label: 'label a'
|
|
29
|
-
}, {
|
|
30
|
-
value: 'b',
|
|
31
|
-
label: 'label b'
|
|
32
|
-
}, {
|
|
33
|
-
value: 'c',
|
|
34
|
-
label: 'label c',
|
|
35
|
-
correct: true,
|
|
36
|
-
feedback: 'great'
|
|
37
|
-
}],
|
|
38
|
-
choicePrefix: 'numbers',
|
|
39
|
-
prompt: "prompt ".concat(PART_A)
|
|
40
|
-
},
|
|
41
|
-
partB: {
|
|
42
|
-
choiceMode: 'radio',
|
|
43
|
-
choices: [{
|
|
44
|
-
value: 'd',
|
|
45
|
-
label: 'label d',
|
|
46
|
-
correct: true,
|
|
47
|
-
feedback: 'great'
|
|
48
|
-
}, {
|
|
49
|
-
value: 'e',
|
|
50
|
-
label: 'label e'
|
|
51
|
-
}, {
|
|
52
|
-
value: 'f',
|
|
53
|
-
label: 'label f'
|
|
54
|
-
}],
|
|
55
|
-
choicePrefix: 'numbers',
|
|
56
|
-
prompt: "prompt ".concat(PART_B)
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
var defaultSession = {
|
|
60
|
-
id: 1
|
|
61
|
-
};
|
|
62
|
-
describe('ebsr', function () {
|
|
63
|
-
var Def;
|
|
64
|
-
var el;
|
|
65
|
-
var ebsr;
|
|
66
|
-
beforeAll(function () {
|
|
67
|
-
Def = require('../index')["default"];
|
|
68
|
-
});
|
|
69
|
-
beforeEach(function () {
|
|
70
|
-
el = new Def();
|
|
71
|
-
el.connectedCallback();
|
|
72
|
-
ebsr = {
|
|
73
|
-
partA: new HTMLElement(),
|
|
74
|
-
partB: new HTMLElement()
|
|
75
|
-
};
|
|
76
|
-
el.querySelector = jest.fn(function (s) {
|
|
77
|
-
if (s === '#part-a') {
|
|
78
|
-
return ebsr.partA;
|
|
79
|
-
} else {
|
|
80
|
-
return ebsr.partB;
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
el.tagName = 'ebsr-element';
|
|
84
|
-
el.model = defaultModel;
|
|
85
|
-
el.session = defaultSession;
|
|
86
|
-
});
|
|
87
|
-
describe('model', function () {
|
|
88
|
-
it('should have set the model', function () {
|
|
89
|
-
expect(el._model).toEqual(defaultModel);
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
describe('session', function () {
|
|
93
|
-
var dispatchesSessionEvent = function dispatchesSessionEvent(key, value) {
|
|
94
|
-
it("".concat(key, " dispatches session changed event"), function () {
|
|
95
|
-
var session = {
|
|
96
|
-
id: key,
|
|
97
|
-
value: value
|
|
98
|
-
};
|
|
99
|
-
el.dispatchSessionChanged(session, key);
|
|
100
|
-
expect(el.dispatchEvent).toBeCalledWith(new _piePlayerEvents.SessionChangedEvent('ebsr-element', false));
|
|
101
|
-
expect(el._session.value[key]).toEqual(session);
|
|
102
|
-
});
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
it('should have set the session', function () {
|
|
106
|
-
expect(el._session).toEqual(defaultSession);
|
|
107
|
-
});
|
|
108
|
-
describe('changeAnswers', function () {
|
|
109
|
-
dispatchesSessionEvent(PART_A, 'a');
|
|
110
|
-
dispatchesSessionEvent(PART_B, 'd');
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
describe('setPartSession', function () {
|
|
114
|
-
it('sets the session object even if missing from session.value', function () {
|
|
115
|
-
var part = {};
|
|
116
|
-
el.model = {};
|
|
117
|
-
el.session = {
|
|
118
|
-
value: {}
|
|
119
|
-
};
|
|
120
|
-
el.setPartSession(part, 'partA');
|
|
121
|
-
expect(part.session).toEqual({
|
|
122
|
-
id: 'partA'
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
describe('isSessionComplete', function () {
|
|
128
|
-
var assertComplete = function assertComplete(s, expected) {
|
|
129
|
-
it("".concat(JSON.stringify(s), " => ").concat(expected), function () {
|
|
130
|
-
var result = (0, _.isSessionComplete)(s);
|
|
131
|
-
expect(result).toEqual(expected);
|
|
132
|
-
});
|
|
133
|
-
};
|
|
134
|
-
|
|
135
|
-
assertComplete({}, false);
|
|
136
|
-
assertComplete({
|
|
137
|
-
value: {
|
|
138
|
-
partA: {
|
|
139
|
-
value: [1]
|
|
140
|
-
},
|
|
141
|
-
partB: {
|
|
142
|
-
value: [2]
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}, true);
|
|
146
|
-
});
|
|
147
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5kZXgudGVzdC5qcyJdLCJuYW1lcyI6WyJqZXN0IiwibW9jayIsInJlbmRlck1hdGgiLCJmbiIsIlBBUlRfQSIsIlBBUlRfQiIsImRlZmF1bHRNb2RlbCIsImRpc2FibGVkIiwibW9kZSIsInBhcnRBIiwiY2hvaWNlTW9kZSIsImNob2ljZXMiLCJ2YWx1ZSIsImxhYmVsIiwiY29ycmVjdCIsImZlZWRiYWNrIiwiY2hvaWNlUHJlZml4IiwicHJvbXB0IiwicGFydEIiLCJkZWZhdWx0U2Vzc2lvbiIsImlkIiwiZGVzY3JpYmUiLCJEZWYiLCJlbCIsImVic3IiLCJiZWZvcmVBbGwiLCJyZXF1aXJlIiwiYmVmb3JlRWFjaCIsImNvbm5lY3RlZENhbGxiYWNrIiwiSFRNTEVsZW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwicyIsInRhZ05hbWUiLCJtb2RlbCIsInNlc3Npb24iLCJpdCIsImV4cGVjdCIsIl9tb2RlbCIsInRvRXF1YWwiLCJkaXNwYXRjaGVzU2Vzc2lvbkV2ZW50Iiwia2V5IiwiZGlzcGF0Y2hTZXNzaW9uQ2hhbmdlZCIsImRpc3BhdGNoRXZlbnQiLCJ0b0JlQ2FsbGVkV2l0aCIsIlNlc3Npb25DaGFuZ2VkRXZlbnQiLCJfc2Vzc2lvbiIsInBhcnQiLCJzZXRQYXJ0U2Vzc2lvbiIsImFzc2VydENvbXBsZXRlIiwiZXhwZWN0ZWQiLCJKU09OIiwic3RyaW5naWZ5IiwicmVzdWx0Il0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUFBLElBQUksQ0FBQ0MsSUFBTCxDQUFVLHFDQUFWLEVBQWlEO0FBQUEsU0FBTztBQUFFQyxJQUFBQSxVQUFVLEVBQUVGLElBQUksQ0FBQ0csRUFBTDtBQUFkLEdBQVA7QUFBQSxDQUFqRDtBQUNBSCxJQUFJLENBQUNDLElBQUwsQ0FBVSw4QkFBVixFQUEwQztBQUFBLFNBQU1ELElBQUksQ0FBQ0csRUFBTCxFQUFOO0FBQUEsQ0FBMUM7QUFFQSxJQUFNQyxNQUFNLEdB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VCxHQUFELEVBQThELElBQTlELENBQWQ7QUFDRCxDQVZPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU2Vzc2lvbkNoYW5nZWRFdmVudCB9IGZyb20gJ0BwaWUtZnJhbWV3b3JrL3BpZS1wbGF5ZXItZXZlbnRzJztcbmltcG9ydCB7IGlzU2Vzc2lvbkNvbXBsZXRlIH0gZnJvbSAnLi4nO1xuXG5qZXN0Lm1vY2soJ0BwaWUtbGliL3BpZS10b29sYm94L21hdGgtcmVuZGVyaW5nJywgKCkgPT4gKHsgcmVuZGVyTWF0aDogamVzdC5mbigpIH0pKTtcbmplc3QubW9jaygnQHBpZS1lbGVtZW50L211bHRpcGxlLWNob2ljZScsICgpID0+IGplc3QuZm4oKSk7XG5cbmNvbnN0IFBBUlRfQSA9ICdwYXJ0QSc7XG5jb25zdCBQQVJUX0IgPSAncGFydEInO1xuXG5jb25zdCBkZWZhdWx0TW9kZWwgPSB7XG4gIGRpc2FibGVkOiBmYWxzZSxcbiAgbW9kZTogJ2dhdGhlcicsXG4gIHBhcnRBOiB7XG4gICAgY2hvaWNlTW9kZTogJ3JhZGlvJyxcbiAgICBjaG9pY2VzOiBbXG4gICAgICB7IHZhbHVlOiAnYScsIGxhYmVsOiAnbGFiZWwgYScgfSxcbiAgICAgIHsgdmFsdWU6ICdiJywgbGFiZWw6ICdsYWJlbCBiJyB9LFxuICAgICAgeyB2YWx1ZTogJ2MnLCBsYWJlbDogJ2xhYmVsIGMnLCBjb3JyZWN0OiB0cnVlLCBmZWVkYmFjazogJ2dyZWF0JyB9LFxuICAgIF0sXG4gICAgY2hvaWNlUHJlZml4OiAnbnVtYmVycycsXG4gICAgcHJvbXB0OiBgcHJvbXB0ICR7UEFSVF9BfWAsXG4gIH0sXG4gIHBhcnRCOiB7XG4gICAgY2hvaWNlTW9kZTogJ3JhZGlvJyxcbiAgICBjaG9pY2VzOiBbXG4gICAgICB7IHZhbHVlOiAnZCcsIGxhYmVsOiAnbGFiZWwgZCcsIGNvcnJlY3Q6IHRydWUsIGZlZWRiYWNrOiAnZ3JlYXQnIH0sXG4gICAgICB7IHZhbHVlOiAnZScsIGxhYmVsOiAnbGFiZWwgZScgfSxcbiAgICAgIHsgdmFsdWU6ICdmJywgbGFiZWw6ICdsYWJlbCBmJyB9LFxuICAgIF0sXG4gICAgY2hvaWNlUHJlZml4OiAnbnVtYmVycycsXG4gICAgcHJvbXB0OiBgcHJvbXB0ICR7UEFSVF9CfWAsXG4gIH0sXG59O1xuXG5jb25zdCBkZWZhdWx0U2Vzc2lvbiA9IHsgaWQ6IDEgfTtcblxuZGVzY3JpYmUoJ2Vic3InLCAoKSA9PiB7XG4gIGxldCBEZWY7XG4gIGxldCBlbDtcbiAgbGV0IGVic3I7XG5cbiAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICBEZWYgPSByZXF1aXJlKCcuLi9pbmRleCcpLmRlZmF1bHQ7XG4gIH0pO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGVsID0gbmV3IERlZigpO1xuICAgIGVsLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgZWJzciA9IHtcbiAgICAgIHBhcnRBOiBuZXcgSFRNTEVsZW1lbnQoKSxcbiAgICAgIHBhcnRCOiBuZXcgSFRNTEVsZW1lbnQoKSxcbiAgICB9O1xuICAgIGVsLnF1ZXJ5U2VsZWN0b3IgPSBqZXN0LmZuKChzKSA9PiB7XG4gICAgICBpZiAocyA9PT0gJyNwYXJ0LWEnKSB7XG4gICAgICAgIHJldHVybiBlYnNyLnBhcnRBO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGVic3IucGFydEI7XG4gICAgICB9XG4gICAgfSk7XG4gICAgZWwudGFnTmFtZSA9ICdlYnNyLWVsZW1lbnQnO1xuICAgIGVsLm1vZGVsID0gZGVmYXVsdE1vZGVsO1xuICAgIGVsLnNlc3Npb24gPSBkZWZhdWx0U2Vzc2lvbjtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ21vZGVsJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgaGF2ZSBzZXQgdGhlIG1vZGVsJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGVsLl9tb2RlbCkudG9FcXVhbChkZWZhdWx0TW9kZWwpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnc2Vzc2lvbicsICgpID0+IHtcbiAgICBjb25zdCBkaXNwYXRjaGVzU2Vzc2lvbkV2ZW50ID0gKGtleSwgdmFsdWUpID0+IHtcbiAgICAgIGl0KGAke2tleX0gZGlzcGF0Y2hlcyBzZXNzaW9uIGNoYW5nZWQgZXZlbnRgLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlc3Npb24gPSB7IGlkOiBrZXksIHZhbHVlIH07XG4gICAgICAgIGVsLmRpc3BhdGNoU2Vzc2lvbkNoYW5nZWQoc2Vzc2lvbiwga2V5KTtcblxuICAgICAgICBleHBlY3QoZWwuZGlzcGF0Y2hFdmVudCkudG9CZUNhbGxlZFdpdGgobmV3IFNlc3Npb25DaGFuZ2VkRXZlbnQoJ2Vic3ItZWxlbWVudCcsIGZhbHNlKSk7XG4gICAgICAgIGV4cGVjdChlbC5fc2Vzc2lvbi52YWx1ZVtrZXldKS50b0VxdWFsKHNlc3Npb24pO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGl0KCdzaG91bGQgaGF2ZSBzZXQgdGhlIHNlc3Npb24nLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZWwuX3Nlc3Npb24pLnRvRXF1YWwoZGVmYXVsdFNlc3Npb24pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2NoYW5nZUFuc3dlcnMnLCAoKSA9PiB7XG4gICAgICBkaXNwYXRjaGVzU2Vzc2lvbkV2ZW50KFBBUlRfQSwgJ2EnKTtcbiAgICAgIGRpc3BhdGNoZXNTZXNzaW9uRXZlbnQoUEFSVF9CLCAnZCcpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnc2V0UGFydFNlc3Npb24nLCAoKSA9PiB7XG4gICAgaXQoJ3NldHMgdGhlIHNlc3Npb24gb2JqZWN0IGV2ZW4gaWYgbWlzc2luZyBmcm9tIHNlc3Npb24udmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwYXJ0ID0ge307XG4gICAgICBlbC5tb2RlbCA9IHt9O1xuICAgICAgZWwuc2Vzc2lvbiA9IHtcbiAgICAgICAgdmFsdWU6IHt9LFxuICAgICAgfTtcbiAgICAgIGVsLnNldFBhcnRTZXNzaW9uKHBhcnQsICdwYXJ0QScpO1xuICAgICAgZXhwZWN0KHBhcnQuc2Vzc2lvbikudG9FcXVhbCh7IGlkOiAncGFydEEnIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnaXNTZXNzaW9uQ29tcGxldGUnLCAoKSA9PiB7XG4gIGNvbnN0IGFzc2VydENvbXBsZXRlID0gKHMsIGV4cGVjdGVkKSA9PiB7XG4gICAgaXQoYCR7SlNPTi5zdHJpbmdpZnkocyl9ID0+ICR7ZXhwZWN0ZWR9YCwgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gaXNTZXNzaW9uQ29tcGxldGUocyk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgICB9KTtcbiAgfTtcblxuICBhc3NlcnRDb21wbGV0ZSh7fSwgZmFsc2UpO1xuICBhc3NlcnRDb21wbGV0ZSh7IHZhbHVlOiB7IHBhcnRBOiB7IHZhbHVlOiBbMV0gfSwgcGFydEI6IHsgdmFsdWU6IFsyXSB9IH0gfSwgdHJ1ZSk7XG59KTtcbiJdfQ==
|
package/module/demo.js
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import Configure from './configure.js';
|
|
2
|
-
import Element from './element.js';
|
|
3
|
-
import * as controller from './controller.js';
|
|
4
|
-
|
|
5
|
-
var generate = {};
|
|
6
|
-
|
|
7
|
-
generate.model = (id, element) => ({
|
|
8
|
-
id,
|
|
9
|
-
element,
|
|
10
|
-
partA: {
|
|
11
|
-
choiceMode: 'radio',
|
|
12
|
-
choices: [
|
|
13
|
-
{
|
|
14
|
-
value: 'yellow',
|
|
15
|
-
label: 'Yellow',
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
value: 'green',
|
|
19
|
-
label: 'Green',
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
correct: true,
|
|
23
|
-
value: 'blue',
|
|
24
|
-
label: 'Blue',
|
|
25
|
-
},
|
|
26
|
-
],
|
|
27
|
-
choicePrefix: 'numbers',
|
|
28
|
-
partialScoring: false,
|
|
29
|
-
prompt: 'What color is the sky?',
|
|
30
|
-
promptEnabled: true,
|
|
31
|
-
},
|
|
32
|
-
partB: {
|
|
33
|
-
choiceMode: 'radio',
|
|
34
|
-
choices: [
|
|
35
|
-
{
|
|
36
|
-
value: 'orange',
|
|
37
|
-
label: 'Orange',
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
correct: true,
|
|
41
|
-
value: 'purple',
|
|
42
|
-
label: 'Purple',
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
value: 'pink',
|
|
46
|
-
label: 'Pink',
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
value: 'green',
|
|
50
|
-
label: 'Green',
|
|
51
|
-
},
|
|
52
|
-
],
|
|
53
|
-
choicePrefix: 'numbers',
|
|
54
|
-
partialScoring: false,
|
|
55
|
-
prompt: 'What color do you get when you mix Red with your answer in Part 1?',
|
|
56
|
-
promptEnabled: true,
|
|
57
|
-
},
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
const { model } = generate;
|
|
61
|
-
|
|
62
|
-
var config = {
|
|
63
|
-
elements: {
|
|
64
|
-
'ebsr-element': '../..',
|
|
65
|
-
},
|
|
66
|
-
models: [model('1', 'ebsr-element') /*, model('2', 'ebsr-element')*/],
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
//Note: demo-el is a custom element loaded in the markup.
|
|
70
|
-
customElements.whenDefined("demo-el").then(() => {
|
|
71
|
-
config.models.forEach((m) => {
|
|
72
|
-
const de = document.createElement("demo-el");
|
|
73
|
-
document.body.appendChild(de);
|
|
74
|
-
de.def = { tagName: m.element, Element, Configure, controller };
|
|
75
|
-
de.model = m;
|
|
76
|
-
});
|
|
77
|
-
});
|