@pie-element/categorize 11.3.4-next.3 → 12.0.0-beta.1
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 +0 -11
- package/configure/CHANGELOG.md +0 -11
- package/configure/lib/__tests__/main.test.js +100 -0
- package/configure/lib/__tests__/utils.js +39 -0
- package/configure/lib/defaults.js +3 -6
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/design/__tests__/builder.test.js +34 -0
- package/configure/lib/design/__tests__/buttons.test.js +36 -0
- package/configure/lib/design/__tests__/header.test.js +37 -0
- package/configure/lib/design/__tests__/index.test.js +125 -0
- package/configure/lib/design/__tests__/input-header.test.js +41 -0
- package/configure/lib/design/builder.js +16 -34
- package/configure/lib/design/builder.js.map +1 -1
- package/configure/lib/design/buttons.js +42 -96
- package/configure/lib/design/buttons.js.map +1 -1
- package/configure/lib/design/categories/RowLabel.js +34 -47
- package/configure/lib/design/categories/RowLabel.js.map +1 -1
- package/configure/lib/design/categories/__tests__/alternateResponses.test.js +93 -0
- package/configure/lib/design/categories/__tests__/category.test.js +65 -0
- package/configure/lib/design/categories/__tests__/choice-preview.test.js +52 -0
- package/configure/lib/design/categories/__tests__/droppable-placeholder.test.js +63 -0
- package/configure/lib/design/categories/__tests__/index.test.js +91 -0
- package/configure/lib/design/categories/alternateResponses.js +97 -252
- package/configure/lib/design/categories/alternateResponses.js.map +1 -1
- package/configure/lib/design/categories/category.js +136 -209
- package/configure/lib/design/categories/category.js.map +1 -1
- package/configure/lib/design/categories/choice-preview.js +62 -127
- package/configure/lib/design/categories/choice-preview.js.map +1 -1
- package/configure/lib/design/categories/droppable-placeholder.js +74 -166
- package/configure/lib/design/categories/droppable-placeholder.js.map +1 -1
- package/configure/lib/design/categories/index.js +196 -385
- package/configure/lib/design/categories/index.js.map +1 -1
- package/configure/lib/design/choices/__tests__/choice.test.js +62 -0
- package/configure/lib/design/choices/__tests__/config.test.js +66 -0
- package/configure/lib/design/choices/__tests__/index.test.js +70 -0
- package/configure/lib/design/choices/choice.js +156 -265
- package/configure/lib/design/choices/choice.js.map +1 -1
- package/configure/lib/design/choices/config.js +43 -99
- package/configure/lib/design/choices/config.js.map +1 -1
- package/configure/lib/design/choices/index.js +149 -237
- package/configure/lib/design/choices/index.js.map +1 -1
- package/configure/lib/design/header.js +58 -112
- package/configure/lib/design/header.js.map +1 -1
- package/configure/lib/design/index.js +633 -478
- package/configure/lib/design/index.js.map +1 -1
- package/configure/lib/design/input-header.js +95 -151
- package/configure/lib/design/input-header.js.map +1 -1
- package/configure/lib/design/utils.js +5 -16
- package/configure/lib/design/utils.js.map +1 -1
- package/configure/lib/index.js +121 -184
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/main.js +31 -75
- package/configure/lib/main.js.map +1 -1
- package/configure/lib/utils.js +23 -33
- package/configure/lib/utils.js.map +1 -1
- package/configure/package.json +15 -15
- package/controller/CHANGELOG.md +0 -11
- package/controller/lib/__tests__/index.test.js +526 -0
- package/controller/lib/defaults.js +3 -6
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +238 -319
- package/controller/lib/index.js.map +1 -1
- package/controller/lib/utils.js +29 -66
- package/controller/lib/utils.js.map +1 -1
- package/controller/package.json +5 -5
- package/docs/demo/.pie/.configure/package.json +10 -0
- package/docs/demo/.pie/.configure/yarn.lock +2181 -0
- package/docs/demo/.pie/.controllers/package.json +10 -0
- package/docs/demo/.pie/.controllers/yarn.lock +110 -0
- package/docs/demo/.pie/info.entry.js +89 -0
- package/docs/demo/.pie/info.webpack.config.js +119 -0
- package/docs/demo/.pie/package.json +10 -0
- package/docs/demo/.pie/yarn.lock +2190 -0
- package/docs/demo/pie.manifest.json +11 -0
- package/lib/__tests__/index.test.js +197 -0
- package/lib/categorize/__tests__/categories.test.js +138 -0
- package/lib/categorize/__tests__/category.test.js +137 -0
- package/lib/categorize/__tests__/choice.test.js +88 -0
- package/lib/categorize/__tests__/choices.test.js +118 -0
- package/lib/categorize/__tests__/droppable-placeholder.test.js +96 -0
- package/lib/categorize/__tests__/grid-content.test.js +48 -0
- package/lib/categorize/__tests__/index.test.js +152 -0
- package/lib/categorize/categories.js +107 -165
- package/lib/categorize/categories.js.map +1 -1
- package/lib/categorize/category.js +74 -124
- package/lib/categorize/category.js.map +1 -1
- package/lib/categorize/choice.js +119 -246
- package/lib/categorize/choice.js.map +1 -1
- package/lib/categorize/choices.js +67 -132
- package/lib/categorize/choices.js.map +1 -1
- package/lib/categorize/droppable-placeholder.js +47 -104
- package/lib/categorize/droppable-placeholder.js.map +1 -1
- package/lib/categorize/grid-content.js +40 -88
- package/lib/categorize/grid-content.js.map +1 -1
- package/lib/categorize/index.js +342 -318
- package/lib/categorize/index.js.map +1 -1
- package/lib/index.js +286 -307
- package/lib/index.js.map +1 -1
- package/package.json +16 -14
- package/esm/configure.js +0 -34401
- package/esm/configure.js.map +0 -1
- package/esm/controller.js +0 -1468
- package/esm/controller.js.map +0 -1
- package/esm/element.js +0 -13134
- package/esm/element.js.map +0 -1
- package/esm/package.json +0 -3
package/configure/lib/index.js
CHANGED
|
@@ -1,210 +1,147 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports
|
|
9
|
-
|
|
10
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
-
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
|
-
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
23
|
-
|
|
7
|
+
exports.default = void 0;
|
|
24
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
9
|
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
29
|
-
|
|
10
|
+
var _client = require("react-dom/client");
|
|
30
11
|
var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
|
|
31
|
-
|
|
32
12
|
var _mathRendering = require("@pie-lib/math-rendering");
|
|
33
|
-
|
|
34
13
|
var _main = _interopRequireDefault(require("./main"));
|
|
35
|
-
|
|
36
14
|
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
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); }; }
|
|
45
|
-
|
|
46
|
-
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; } }
|
|
47
|
-
|
|
48
|
-
var CategorizeConfigure = /*#__PURE__*/function (_HTMLElement) {
|
|
49
|
-
(0, _inherits2["default"])(CategorizeConfigure, _HTMLElement);
|
|
50
|
-
|
|
51
|
-
var _super = _createSuper(CategorizeConfigure);
|
|
52
|
-
|
|
53
|
-
// PD-2960: make sure we don't have alternates in model or possibility to add them (temporary solution)
|
|
54
|
-
// this function is used in controller, too
|
|
55
|
-
function CategorizeConfigure() {
|
|
56
|
-
var _this;
|
|
57
|
-
|
|
58
|
-
(0, _classCallCheck2["default"])(this, CategorizeConfigure);
|
|
59
|
-
_this = _super.call(this);
|
|
60
|
-
_this._model = CategorizeConfigure.createDefaultModel();
|
|
61
|
-
_this._configuration = _defaults["default"].configuration;
|
|
62
|
-
return _this;
|
|
15
|
+
class CategorizeConfigure extends HTMLElement {
|
|
16
|
+
constructor() {
|
|
17
|
+
super();
|
|
18
|
+
this._root = null;
|
|
19
|
+
this._model = CategorizeConfigure.createDefaultModel();
|
|
20
|
+
this._configuration = _defaults.default.configuration;
|
|
63
21
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if (m.choices && m.choices.length >= m.maxAnswerChoices) {
|
|
71
|
-
this._model.maxAnswerChoices = m.choices.length;
|
|
72
|
-
console.warn("Max Answer Choices can't be less than choices length!");
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
this.render();
|
|
22
|
+
set model(m) {
|
|
23
|
+
this._model = CategorizeConfigure.createDefaultModel(m);
|
|
24
|
+
if (m.choices && m.choices.length >= m.maxAnswerChoices) {
|
|
25
|
+
this._model.maxAnswerChoices = m.choices.length;
|
|
26
|
+
console.warn("Max Answer Choices can't be less than choices length!");
|
|
76
27
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
this._configuration.
|
|
98
|
-
|
|
99
|
-
if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {
|
|
100
|
-
this._configuration.languageChoices.options = [];
|
|
101
|
-
} // check if the language is already included in the languageChoices.options array
|
|
102
|
-
// and if not, then add it.
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
if (!this._configuration.languageChoices.options.find(function (option) {
|
|
106
|
-
return option.value === _this2._model.language;
|
|
107
|
-
})) {
|
|
108
|
-
this._configuration.languageChoices.options.push({
|
|
109
|
-
value: this._model.language,
|
|
110
|
-
label: this._model.language
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
} else {
|
|
114
|
-
delete this._model.language;
|
|
28
|
+
this.render();
|
|
29
|
+
}
|
|
30
|
+
set configuration(c) {
|
|
31
|
+
const newConfiguration = {
|
|
32
|
+
..._defaults.default.configuration,
|
|
33
|
+
...c
|
|
34
|
+
};
|
|
35
|
+
this._configuration = newConfiguration;
|
|
36
|
+
|
|
37
|
+
// if language:enabled is true, then the corresponding default item model should include a language value;
|
|
38
|
+
// if it is false, then the language field should be omitted from the item model.
|
|
39
|
+
// if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,
|
|
40
|
+
// then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).
|
|
41
|
+
if (newConfiguration?.language?.enabled) {
|
|
42
|
+
if (newConfiguration?.languageChoices?.options?.length) {
|
|
43
|
+
this._model.language = newConfiguration?.languageChoices.options[0].value;
|
|
44
|
+
}
|
|
45
|
+
} else if (newConfiguration.language.settings && this._model.language) {
|
|
46
|
+
this._configuration.language.enabled = true;
|
|
47
|
+
if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {
|
|
48
|
+
this._configuration.languageChoices.options = [];
|
|
115
49
|
}
|
|
116
50
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
key: "onConfigurationChanged",
|
|
128
|
-
value: function onConfigurationChanged(c) {
|
|
129
|
-
this._configuration = c;
|
|
130
|
-
this.render();
|
|
131
|
-
}
|
|
132
|
-
}, {
|
|
133
|
-
key: "connectedCallback",
|
|
134
|
-
value: function connectedCallback() {
|
|
135
|
-
this.render();
|
|
51
|
+
// check if the language is already included in the languageChoices.options array
|
|
52
|
+
// and if not, then add it.
|
|
53
|
+
if (!this._configuration.languageChoices.options.find(option => option.value === this._model.language)) {
|
|
54
|
+
this._configuration.languageChoices.options.push({
|
|
55
|
+
value: this._model.language,
|
|
56
|
+
label: this._model.language
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
} else {
|
|
60
|
+
delete this._model.language;
|
|
136
61
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
62
|
+
this.render();
|
|
63
|
+
}
|
|
64
|
+
onModelChanged(m) {
|
|
65
|
+
this._model = m;
|
|
66
|
+
this.render();
|
|
67
|
+
this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model, false));
|
|
68
|
+
}
|
|
69
|
+
onConfigurationChanged(c) {
|
|
70
|
+
this._configuration = c;
|
|
71
|
+
this.render();
|
|
72
|
+
}
|
|
73
|
+
connectedCallback() {
|
|
74
|
+
this.render();
|
|
75
|
+
}
|
|
141
76
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
this.
|
|
77
|
+
/**
|
|
78
|
+
*
|
|
79
|
+
* @param {done, progress, file} handler
|
|
80
|
+
*/
|
|
81
|
+
insertImage(handler) {
|
|
82
|
+
this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
|
|
83
|
+
}
|
|
84
|
+
onDeleteImage(src, done) {
|
|
85
|
+
this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
|
|
86
|
+
}
|
|
87
|
+
insertSound(handler) {
|
|
88
|
+
this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
|
|
89
|
+
}
|
|
90
|
+
onDeleteSound(src, done) {
|
|
91
|
+
this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
|
|
92
|
+
}
|
|
93
|
+
render() {
|
|
94
|
+
const el = /*#__PURE__*/_react.default.createElement(_main.default, {
|
|
95
|
+
model: this._model,
|
|
96
|
+
configuration: this._configuration,
|
|
97
|
+
onModelChanged: this.onModelChanged.bind(this),
|
|
98
|
+
onConfigurationChanged: this.onConfigurationChanged.bind(this),
|
|
99
|
+
imageSupport: {
|
|
100
|
+
add: this.insertImage.bind(this),
|
|
101
|
+
delete: this.onDeleteImage.bind(this)
|
|
102
|
+
},
|
|
103
|
+
uploadSoundSupport: {
|
|
104
|
+
add: this.insertSound.bind(this),
|
|
105
|
+
delete: this.onDeleteSound.bind(this)
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
if (!this._root) {
|
|
109
|
+
this._root = (0, _client.createRoot)(this);
|
|
161
110
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
onModelChanged: this.onModelChanged.bind(this),
|
|
171
|
-
onConfigurationChanged: this.onConfigurationChanged.bind(this),
|
|
172
|
-
imageSupport: {
|
|
173
|
-
add: this.insertImage.bind(this),
|
|
174
|
-
"delete": this.onDeleteImage.bind(this)
|
|
175
|
-
},
|
|
176
|
-
uploadSoundSupport: {
|
|
177
|
-
add: this.insertSound.bind(this),
|
|
178
|
-
"delete": this.onDeleteSound.bind(this)
|
|
179
|
-
}
|
|
180
|
-
});
|
|
181
|
-
|
|
182
|
-
_reactDom["default"].render(el, this, function () {
|
|
183
|
-
(0, _mathRendering.renderMath)(_this3);
|
|
184
|
-
});
|
|
111
|
+
this._root.render(el);
|
|
112
|
+
setTimeout(() => {
|
|
113
|
+
(0, _mathRendering.renderMath)(this);
|
|
114
|
+
}, 0);
|
|
115
|
+
}
|
|
116
|
+
disconnectedCallback() {
|
|
117
|
+
if (this._root) {
|
|
118
|
+
this._root.unmount();
|
|
185
119
|
}
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
(0, _defineProperty2
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
exports.default = CategorizeConfigure;
|
|
123
|
+
(0, _defineProperty2.default)(CategorizeConfigure, "createDefaultModel", (model = {}) => ({
|
|
124
|
+
..._defaults.default.model,
|
|
125
|
+
...model
|
|
126
|
+
}));
|
|
127
|
+
// PD-2960: make sure we don't have alternates in model or possibility to add them (temporary solution)
|
|
128
|
+
// this function is used in controller, too
|
|
129
|
+
(0, _defineProperty2.default)(CategorizeConfigure, "disableAlternateResponses", m => {
|
|
130
|
+
let {
|
|
131
|
+
correctResponse
|
|
132
|
+
} = m || {};
|
|
199
133
|
correctResponse = correctResponse || [];
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
134
|
+
const mappedCorrectResponse = correctResponse.map(cr => {
|
|
135
|
+
const {
|
|
136
|
+
alternateResponses,
|
|
137
|
+
...response
|
|
138
|
+
} = cr;
|
|
203
139
|
return response;
|
|
204
140
|
});
|
|
205
|
-
return
|
|
141
|
+
return {
|
|
142
|
+
...m,
|
|
206
143
|
correctResponse: mappedCorrectResponse,
|
|
207
144
|
allowAlternateEnabled: false
|
|
208
|
-
}
|
|
145
|
+
};
|
|
209
146
|
});
|
|
210
|
-
//# sourceMappingURL=index.js.map
|
|
147
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jbGllbnQiLCJfcGllQ29uZmlndXJlRXZlbnRzIiwiX21hdGhSZW5kZXJpbmciLCJfbWFpbiIsIl9kZWZhdWx0cyIsIkNhdGVnb3JpemVDb25maWd1cmUiLCJIVE1MRWxlbWVudCIsImNvbnN0cnVjdG9yIiwiX3Jvb3QiLCJfbW9kZWwiLCJjcmVhdGVEZWZhdWx0TW9kZWwiLCJfY29uZmlndXJhdGlvbiIsImRlZmF1bHRzIiwiY29uZmlndXJhdGlvbiIsIm1vZGVsIiwibSIsImNob2ljZXMiLCJsZW5ndGgiLCJtYXhBbnN3ZXJDaG9pY2VzIiwiY29uc29sZSIsIndhcm4iLCJyZW5kZXIiLCJjIiwibmV3Q29uZmlndXJhdGlvbiIsImxhbmd1YWdlIiwiZW5hYmxlZCIsImxhbmd1YWdlQ2hvaWNlcyIsIm9wdGlvbnMiLCJ2YWx1ZSIsInNldHRpbmdzIiwiZmluZCIsIm9wdGlvbiIsInB1c2giLCJsYWJlbCIsIm9uTW9kZWxDaGFuZ2VkIiwiZGlzcGF0Y2hFdmVudCIsIk1vZGVsVXBkYXRlZEV2ZW50Iiwib25Db25maWd1cmF0aW9uQ2hhbmdlZCIsImNvbm5lY3RlZENhbGxiYWNrIiwiaW5zZXJ0SW1hZ2UiLCJoYW5kbGVyIiwiSW5zZXJ0SW1hZ2VFdmVudCIsIm9uRGVsZXRlSW1hZ2UiLCJzcmMiLCJkb25lIiwiRGVsZXRlSW1hZ2VFdmVudCIsImluc2VydFNvdW5kIiwiSW5zZXJ0U291bmRFdmVudCIsIm9uRGVsZXRlU291bmQiLCJEZWxldGVTb3VuZEV2ZW50IiwiZWwiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJNYWluIiwiYmluZCIsImltYWdlU3VwcG9ydCIsImFkZCIsImRlbGV0ZSIsInVwbG9hZFNvdW5kU3VwcG9ydCIsImNyZWF0ZVJvb3QiLCJzZXRUaW1lb3V0IiwicmVuZGVyTWF0aCIsImRpc2Nvbm5lY3RlZENhbGxiYWNrIiwidW5tb3VudCIsImV4cG9ydHMiLCJkZWZhdWx0IiwiX2RlZmluZVByb3BlcnR5MiIsImNvcnJlY3RSZXNwb25zZSIsIm1hcHBlZENvcnJlY3RSZXNwb25zZSIsIm1hcCIsImNyIiwiYWx0ZXJuYXRlUmVzcG9uc2VzIiwicmVzcG9uc2UiLCJhbGxvd0FsdGVybmF0ZUVuYWJsZWQiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZVJvb3QgfSBmcm9tICdyZWFjdC1kb20vY2xpZW50JztcbmltcG9ydCB7XG4gIE1vZGVsVXBkYXRlZEV2ZW50LFxuICBEZWxldGVJbWFnZUV2ZW50LFxuICBJbnNlcnRJbWFnZUV2ZW50LFxuICBJbnNlcnRTb3VuZEV2ZW50LFxuICBEZWxldGVTb3VuZEV2ZW50LFxufSBmcm9tICdAcGllLWZyYW1ld29yay9waWUtY29uZmlndXJlLWV2ZW50cyc7XG5pbXBvcnQgeyByZW5kZXJNYXRoIH0gZnJvbSAnQHBpZS1saWIvbWF0aC1yZW5kZXJpbmcnO1xuXG5pbXBvcnQgTWFpbiBmcm9tICcuL21haW4nO1xuXG5pbXBvcnQgZGVmYXVsdHMgZnJvbSAnLi9kZWZhdWx0cyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENhdGVnb3JpemVDb25maWd1cmUgZXh0ZW5kcyBIVE1MRWxlbWVudCB7XG4gIHN0YXRpYyBjcmVhdGVEZWZhdWx0TW9kZWwgPSAobW9kZWwgPSB7fSkgPT4gKHtcbiAgICAuLi5kZWZhdWx0cy5tb2RlbCxcbiAgICAuLi5tb2RlbCxcbiAgfSk7XG5cbiAgLy8gUEQtMjk2MDogbWFrZSBzdXJlIHdlIGRvbid0IGhhdmUgYWx0ZXJuYXRlcyBpbiBtb2RlbCBvciBwb3NzaWJpbGl0eSB0byBhZGQgdGhlbSAodGVtcG9yYXJ5IHNvbHV0aW9uKVxuICAvLyB0aGlzIGZ1bmN0aW9uIGlzIHVzZWQgaW4gY29udHJvbGxlciwgdG9vXG4gIHN0YXRpYyBkaXNhYmxlQWx0ZXJuYXRlUmVzcG9uc2VzID0gKG0pID0+IHtcbiAgICBsZXQgeyBjb3JyZWN0UmVzcG9uc2UgfSA9IG0gfHwge307XG4gICAgY29ycmVjdFJlc3BvbnNlID0gY29ycmVjdFJlc3BvbnNlIHx8IFtdO1xuICAgIGNvbnN0IG1hcHBlZENvcnJlY3RSZXNwb25zZSA9IGNvcnJlY3RSZXNwb25zZS5tYXAoKGNyKSA9PiB7XG4gICAgICBjb25zdCB7IGFsdGVybmF0ZVJlc3BvbnNlcywgLi4ucmVzcG9uc2UgfSA9IGNyO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5tLFxuICAgICAgY29ycmVjdFJlc3BvbnNlOiBtYXBwZWRDb3JyZWN0UmVzcG9uc2UsXG4gICAgICBhbGxvd0FsdGVybmF0ZUVuYWJsZWQ6IGZhbHNlLFxuICAgIH07XG4gIH07XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9yb290ID0gbnVsbDtcbiAgICB0aGlzLl9tb2RlbCA9IENhdGVnb3JpemVDb25maWd1cmUuY3JlYXRlRGVmYXVsdE1vZGVsKCk7XG4gICAgdGhpcy5fY29uZmlndXJhdGlvbiA9IGRlZmF1bHRzLmNvbmZpZ3VyYXRpb247XG4gIH1cblxuICBzZXQgbW9kZWwobSkge1xuICAgIHRoaXMuX21vZGVsID0gQ2F0ZWdvcml6ZUNvbmZpZ3VyZS5jcmVhdGVEZWZhdWx0TW9kZWwobSk7XG5cbiAgICBpZiAobS5jaG9pY2VzICYmIG0uY2hvaWNlcy5sZW5ndGggPj0gbS5tYXhBbnN3ZXJDaG9pY2VzKSB7XG4gICAgICB0aGlzLl9tb2RlbC5tYXhBbnN3ZXJDaG9pY2VzID0gbS5jaG9pY2VzLmxlbmd0aDtcbiAgICAgIGNvbnNvbGUud2FybihcIk1heCBBbnN3ZXIgQ2hvaWNlcyBjYW4ndCBiZSBsZXNzIHRoYW4gY2hvaWNlcyBsZW5ndGghXCIpO1xuICAgIH1cblxuICAgIHRoaXMucmVuZGVyKCk7XG4gIH1cblxuICBzZXQgY29uZmlndXJhdGlvbihjKSB7XG4gICAgY29uc3QgbmV3Q29uZmlndXJhdGlvbiA9IHtcbiAgICAgIC4uLmRlZmF1bHRzLmNvbmZpZ3VyYXRpb24sXG4gICAgICAuLi5jLFxuICAgIH07XG5cbiAgICB0aGlzLl9jb25maWd1cmF0aW9uID0gbmV3Q29uZmlndXJhdGlvbjtcblxuICAgIC8vIGlmIGxhbmd1YWdlOmVuYWJsZWQgaXMgdHJ1ZSwgdGhlbiB0aGUgY29ycmVzcG9uZGluZyBkZWZhdWx0IGl0ZW0gbW9kZWwgc2hvdWxkIGluY2x1ZGUgYSBsYW5ndWFnZSB2YWx1ZTtcbiAgICAvLyBpZiBpdCBpcyBmYWxzZSwgdGhlbiB0aGUgbGFuZ3VhZ2UgZmllbGQgc2hvdWxkIGJlIG9taXR0ZWQgZnJvbSB0aGUgaXRlbSBtb2RlbC5cbiAgICAvLyBpZiBhIGRlZmF1bHQgaXRlbSBtb2RlbCBpbmNsdWRlcyBhIGxhbmd1YWdlIHZhbHVlIChlLmcuLCBlbl9VUykgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGF1dGhvcmluZyB2aWV3IHNldHRpbmdzIGhhdmUgbGFuZ3VhZ2U6c2V0dGluZ3MgPSB0cnVlLFxuICAgIC8vIHRoZW4gKGEpIGxhbmd1YWdlOmVuYWJsZWQgc2hvdWxkIGFsc28gYmUgdHJ1ZSwgYW5kIChiKSB0aGF0IGRlZmF1bHQgbGFuZ3VhZ2UgdmFsdWUgc2hvdWxkIGJlIHJlcHJlc2VudGVkIGluIGxhbmd1YWdlQ2hvaWNlc1tdIChhcyBhIGtleSkuXG4gICAgaWYgKG5ld0NvbmZpZ3VyYXRpb24/Lmxhbmd1YWdlPy5lbmFibGVkKSB7XG4gICAgICBpZiAobmV3Q29uZmlndXJhdGlvbj8ubGFuZ3VhZ2VDaG9pY2VzPy5vcHRpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5fbW9kZWwubGFuZ3VhZ2UgPSBuZXdDb25maWd1cmF0aW9uPy5sYW5ndWFnZUNob2ljZXMub3B0aW9uc1swXS52YWx1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5ld0NvbmZpZ3VyYXRpb24ubGFuZ3VhZ2Uuc2V0dGluZ3MgJiYgdGhpcy5fbW9kZWwubGFuZ3VhZ2UpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24ubGFuZ3VhZ2UuZW5hYmxlZCA9IHRydWU7XG5cbiAgICAgIGlmICghdGhpcy5fY29uZmlndXJhdGlvbi5sYW5ndWFnZUNob2ljZXMub3B0aW9ucyB8fCAhdGhpcy5fY29uZmlndXJhdGlvbi5sYW5ndWFnZUNob2ljZXMub3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5fY29uZmlndXJhdGlvbi5sYW5ndWFnZUNob2ljZXMub3B0aW9ucyA9IFtdO1xuICAgICAgfVxuXG4gICAgICAvLyBjaGVjayBpZiB0aGUgbGFuZ3VhZ2UgaXMgYWxyZWFkeSBpbmNsdWRlZCBpbiB0aGUgbGFuZ3VhZ2VDaG9pY2VzLm9wdGlvbnMgYXJyYXlcbiAgICAgIC8vIGFuZCBpZiBub3QsIHRoZW4gYWRkIGl0LlxuICAgICAgaWYgKCF0aGlzLl9jb25maWd1cmF0aW9uLmxhbmd1YWdlQ2hvaWNlcy5vcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSB0aGlzLl9tb2RlbC5sYW5ndWFnZSkpIHtcbiAgICAgICAgdGhpcy5fY29uZmlndXJhdGlvbi5sYW5ndWFnZUNob2ljZXMub3B0aW9ucy5wdXNoKHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5fbW9kZWwubGFuZ3VhZ2UsXG4gICAgICAgICAgbGFiZWw6IHRoaXMuX21vZGVsLmxhbmd1YWdlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRlIHRoaXMuX21vZGVsLmxhbmd1YWdlO1xuICAgIH1cblxuICAgIHRoaXMucmVuZGVyKCk7XG4gIH1cblxuICBvbk1vZGVsQ2hhbmdlZChtKSB7XG4gICAgdGhpcy5fbW9kZWwgPSBtO1xuXG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IE1vZGVsVXBkYXRlZEV2ZW50KHRoaXMuX21vZGVsLCBmYWxzZSkpO1xuICB9XG5cbiAgb25Db25maWd1cmF0aW9uQ2hhbmdlZChjKSB7XG4gICAgdGhpcy5fY29uZmlndXJhdGlvbiA9IGM7XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIGNvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIHRoaXMucmVuZGVyKCk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHtkb25lLCBwcm9ncmVzcywgZmlsZX0gaGFuZGxlclxuICAgKi9cbiAgaW5zZXJ0SW1hZ2UoaGFuZGxlcikge1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSW5zZXJ0SW1hZ2VFdmVudChoYW5kbGVyKSk7XG4gIH1cblxuICBvbkRlbGV0ZUltYWdlKHNyYywgZG9uZSkge1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRGVsZXRlSW1hZ2VFdmVudChzcmMsIGRvbmUpKTtcbiAgfVxuXG4gIGluc2VydFNvdW5kKGhhbmRsZXIpIHtcbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEluc2VydFNvdW5kRXZlbnQoaGFuZGxlcikpO1xuICB9XG5cbiAgb25EZWxldGVTb3VuZChzcmMsIGRvbmUpIHtcbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IERlbGV0ZVNvdW5kRXZlbnQoc3JjLCBkb25lKSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgZWwgPSBSZWFjdC5jcmVhdGVFbGVtZW50KE1haW4sIHtcbiAgICAgIG1vZGVsOiB0aGlzLl9tb2RlbCxcbiAgICAgIGNvbmZpZ3VyYXRpb246IHRoaXMuX2NvbmZpZ3VyYXRpb24sXG4gICAgICBvbk1vZGVsQ2hhbmdlZDogdGhpcy5vbk1vZGVsQ2hhbmdlZC5iaW5kKHRoaXMpLFxuICAgICAgb25Db25maWd1cmF0aW9uQ2hhbmdlZDogdGhpcy5vbkNvbmZpZ3VyYXRpb25DaGFuZ2VkLmJpbmQodGhpcyksXG4gICAgICBpbWFnZVN1cHBvcnQ6IHtcbiAgICAgICAgYWRkOiB0aGlzLmluc2VydEltYWdlLmJpbmQodGhpcyksXG4gICAgICAgIGRlbGV0ZTogdGhpcy5vbkRlbGV0ZUltYWdlLmJpbmQodGhpcyksXG4gICAgICB9LFxuICAgICAgdXBsb2FkU291bmRTdXBwb3J0OiB7XG4gICAgICAgIGFkZDogdGhpcy5pbnNlcnRTb3VuZC5iaW5kKHRoaXMpLFxuICAgICAgICBkZWxldGU6IHRoaXMub25EZWxldGVTb3VuZC5iaW5kKHRoaXMpLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmICghdGhpcy5fcm9vdCkge1xuICAgICAgdGhpcy5fcm9vdCA9IGNyZWF0ZVJvb3QodGhpcyk7XG4gICAgfVxuICAgIHRoaXMuX3Jvb3QucmVuZGVyKGVsKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgcmVuZGVyTWF0aCh0aGlzKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIGlmICh0aGlzLl9yb290KSB7XG4gICAgICB0aGlzLl9yb290LnVubW91bnQoKTtcbiAgICB9XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxtQkFBQSxHQUFBRixPQUFBO0FBT0EsSUFBQUcsY0FBQSxHQUFBSCxPQUFBO0FBRUEsSUFBQUksS0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUssU0FBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBRWUsTUFBTU0sbUJBQW1CLFNBQVNDLFdBQVcsQ0FBQztFQXNCM0RDLFdBQVdBLENBQUEsRUFBRztJQUNaLEtBQUssQ0FBQyxDQUFDO0lBQ1AsSUFBSSxDQUFDQyxLQUFLLEdBQUcsSUFBSTtJQUNqQixJQUFJLENBQUNDLE1BQU0sR0FBR0osbUJBQW1CLENBQUNLLGtCQUFrQixDQUFDLENBQUM7SUFDdEQsSUFBSSxDQUFDQyxjQUFjLEdBQUdDLGlCQUFRLENBQUNDLGFBQWE7RUFDOUM7RUFFQSxJQUFJQyxLQUFLQSxDQUFDQyxDQUFD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["CategorizeConfigure","_model","createDefaultModel","_configuration","defaults","configuration","m","choices","length","maxAnswerChoices","console","warn","render","c","newConfiguration","language","enabled","languageChoices","options","value","settings","find","option","push","label","dispatchEvent","ModelUpdatedEvent","handler","InsertImageEvent","src","done","DeleteImageEvent","InsertSoundEvent","DeleteSoundEvent","el","React","createElement","Main","model","onModelChanged","bind","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","HTMLElement","correctResponse","mappedCorrectResponse","map","cr","alternateResponses","response","allowAlternateEnabled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nimport Main from './main';\n\nimport defaults from './defaults';\n\nexport default class CategorizeConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => ({\n ...defaults.model,\n ...model,\n });\n\n // PD-2960: make sure we don't have alternates in model or possibility to add them (temporary solution)\n // this function is used in controller, too\n static disableAlternateResponses = (m) => {\n let { correctResponse } = m || {};\n correctResponse = correctResponse || [];\n const mappedCorrectResponse = correctResponse.map((cr) => {\n const { alternateResponses, ...response } = cr;\n return response;\n });\n return {\n ...m,\n correctResponse: mappedCorrectResponse,\n allowAlternateEnabled: false,\n };\n };\n\n constructor() {\n super();\n this._model = CategorizeConfigure.createDefaultModel();\n this._configuration = defaults.configuration;\n }\n\n set model(m) {\n this._model = CategorizeConfigure.createDefaultModel(m);\n\n if (m.choices && m.choices.length >= m.maxAnswerChoices) {\n this._model.maxAnswerChoices = m.choices.length;\n console.warn(\"Max Answer Choices can't be less than choices length!\");\n }\n\n this.render();\n }\n\n set configuration(c) {\n const newConfiguration = {\n ...defaults.configuration,\n ...c,\n };\n\n this._configuration = newConfiguration;\n\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n if (newConfiguration?.language?.enabled) {\n if (newConfiguration?.languageChoices?.options?.length) {\n this._model.language = newConfiguration?.languageChoices.options[0].value;\n }\n } else if (newConfiguration.language.settings && this._model.language) {\n this._configuration.language.enabled = true;\n\n if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {\n this._configuration.languageChoices.options = [];\n }\n\n // check if the language is already included in the languageChoices.options array\n // and if not, then add it.\n if (!this._configuration.languageChoices.options.find((option) => option.value === this._model.language)) {\n this._configuration.languageChoices.options.push({\n value: this._model.language,\n label: this._model.language,\n });\n }\n } else {\n delete this._model.language;\n }\n\n this.render();\n }\n\n onModelChanged(m) {\n this._model = m;\n\n this.render();\n this.dispatchEvent(new ModelUpdatedEvent(this._model, false));\n }\n\n onConfigurationChanged(c) {\n this._configuration = c;\n this.render();\n }\n\n connectedCallback() {\n this.render();\n }\n\n /**\n *\n * @param {done, progress, file} handler\n */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n render() {\n const el = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n}\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_pieConfigureEvents","_mathRendering","_main","_defaults","CategorizeConfigure","HTMLElement","constructor","_root","_model","createDefaultModel","_configuration","defaults","configuration","model","m","choices","length","maxAnswerChoices","console","warn","render","c","newConfiguration","language","enabled","languageChoices","options","value","settings","find","option","push","label","onModelChanged","dispatchEvent","ModelUpdatedEvent","onConfigurationChanged","connectedCallback","insertImage","handler","InsertImageEvent","onDeleteImage","src","done","DeleteImageEvent","insertSound","InsertSoundEvent","onDeleteSound","DeleteSoundEvent","el","React","createElement","Main","bind","imageSupport","add","delete","uploadSoundSupport","createRoot","setTimeout","renderMath","disconnectedCallback","unmount","exports","default","_defineProperty2","correctResponse","mappedCorrectResponse","map","cr","alternateResponses","response","allowAlternateEnabled"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nimport Main from './main';\n\nimport defaults from './defaults';\n\nexport default class CategorizeConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => ({\n ...defaults.model,\n ...model,\n });\n\n // PD-2960: make sure we don't have alternates in model or possibility to add them (temporary solution)\n // this function is used in controller, too\n static disableAlternateResponses = (m) => {\n let { correctResponse } = m || {};\n correctResponse = correctResponse || [];\n const mappedCorrectResponse = correctResponse.map((cr) => {\n const { alternateResponses, ...response } = cr;\n return response;\n });\n return {\n ...m,\n correctResponse: mappedCorrectResponse,\n allowAlternateEnabled: false,\n };\n };\n\n constructor() {\n super();\n this._root = null;\n this._model = CategorizeConfigure.createDefaultModel();\n this._configuration = defaults.configuration;\n }\n\n set model(m) {\n this._model = CategorizeConfigure.createDefaultModel(m);\n\n if (m.choices && m.choices.length >= m.maxAnswerChoices) {\n this._model.maxAnswerChoices = m.choices.length;\n console.warn(\"Max Answer Choices can't be less than choices length!\");\n }\n\n this.render();\n }\n\n set configuration(c) {\n const newConfiguration = {\n ...defaults.configuration,\n ...c,\n };\n\n this._configuration = newConfiguration;\n\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n if (newConfiguration?.language?.enabled) {\n if (newConfiguration?.languageChoices?.options?.length) {\n this._model.language = newConfiguration?.languageChoices.options[0].value;\n }\n } else if (newConfiguration.language.settings && this._model.language) {\n this._configuration.language.enabled = true;\n\n if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {\n this._configuration.languageChoices.options = [];\n }\n\n // check if the language is already included in the languageChoices.options array\n // and if not, then add it.\n if (!this._configuration.languageChoices.options.find((option) => option.value === this._model.language)) {\n this._configuration.languageChoices.options.push({\n value: this._model.language,\n label: this._model.language,\n });\n }\n } else {\n delete this._model.language;\n }\n\n this.render();\n }\n\n onModelChanged(m) {\n this._model = m;\n\n this.render();\n this.dispatchEvent(new ModelUpdatedEvent(this._model, false));\n }\n\n onConfigurationChanged(c) {\n this._configuration = c;\n this.render();\n }\n\n connectedCallback() {\n this.render();\n }\n\n /**\n *\n * @param {done, progress, file} handler\n */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n render() {\n const el = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n\n setTimeout(() => {\n renderMath(this);\n }, 0);\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/configure/lib/main.js
CHANGED
|
@@ -1,88 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
-
|
|
16
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
-
|
|
18
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
-
|
|
7
|
+
exports.default = exports.Main = void 0;
|
|
20
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
-
|
|
22
9
|
var _react = _interopRequireDefault(require("react"));
|
|
23
|
-
|
|
24
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
-
|
|
26
|
-
var _styles = require("@material-ui/core/styles");
|
|
27
|
-
|
|
28
11
|
var _design = _interopRequireDefault(require("./design"));
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
12
|
+
class Main extends _react.default.Component {
|
|
13
|
+
render() {
|
|
14
|
+
const {
|
|
15
|
+
model,
|
|
16
|
+
onModelChanged,
|
|
17
|
+
configuration,
|
|
18
|
+
onConfigurationChanged,
|
|
19
|
+
imageSupport,
|
|
20
|
+
uploadSoundSupport
|
|
21
|
+
} = this.props;
|
|
22
|
+
return /*#__PURE__*/_react.default.createElement(_design.default, {
|
|
23
|
+
imageSupport: imageSupport,
|
|
24
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
25
|
+
title: "Design",
|
|
26
|
+
model: model,
|
|
27
|
+
configuration: configuration,
|
|
28
|
+
onChange: onModelChanged,
|
|
29
|
+
onConfigurationChanged: onConfigurationChanged
|
|
30
|
+
});
|
|
42
31
|
}
|
|
43
|
-
|
|
44
|
-
(0, _createClass2["default"])(Main, [{
|
|
45
|
-
key: "render",
|
|
46
|
-
value: function render() {
|
|
47
|
-
var _this$props = this.props,
|
|
48
|
-
model = _this$props.model,
|
|
49
|
-
onModelChanged = _this$props.onModelChanged,
|
|
50
|
-
configuration = _this$props.configuration,
|
|
51
|
-
onConfigurationChanged = _this$props.onConfigurationChanged,
|
|
52
|
-
imageSupport = _this$props.imageSupport,
|
|
53
|
-
uploadSoundSupport = _this$props.uploadSoundSupport;
|
|
54
|
-
return /*#__PURE__*/_react["default"].createElement(_design["default"], {
|
|
55
|
-
imageSupport: imageSupport,
|
|
56
|
-
uploadSoundSupport: uploadSoundSupport,
|
|
57
|
-
title: "Design",
|
|
58
|
-
model: model,
|
|
59
|
-
configuration: configuration,
|
|
60
|
-
onChange: onModelChanged,
|
|
61
|
-
onConfigurationChanged: onConfigurationChanged
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
}]);
|
|
65
|
-
return Main;
|
|
66
|
-
}(_react["default"].Component);
|
|
67
|
-
|
|
32
|
+
}
|
|
68
33
|
exports.Main = Main;
|
|
69
|
-
(0, _defineProperty2
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
imageSupport: _propTypes["default"].object,
|
|
77
|
-
uploadSoundSupport: _propTypes["default"].object
|
|
34
|
+
(0, _defineProperty2.default)(Main, "propTypes", {
|
|
35
|
+
configuration: _propTypes.default.object,
|
|
36
|
+
onConfigurationChanged: _propTypes.default.func,
|
|
37
|
+
model: _propTypes.default.object.isRequired,
|
|
38
|
+
onModelChanged: _propTypes.default.func.isRequired,
|
|
39
|
+
imageSupport: _propTypes.default.object,
|
|
40
|
+
uploadSoundSupport: _propTypes.default.object
|
|
78
41
|
});
|
|
79
|
-
(0, _defineProperty2
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
return {};
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
var _default = (0, _styles.withStyles)(styles)(Main);
|
|
86
|
-
|
|
87
|
-
exports["default"] = _default;
|
|
88
|
-
//# sourceMappingURL=main.js.map
|
|
42
|
+
(0, _defineProperty2.default)(Main, "defaultProps", {});
|
|
43
|
+
var _default = exports.default = Main;
|
|
44
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfZGVzaWduIiwiTWFpbiIsIlJlYWN0IiwiQ29tcG9uZW50IiwicmVuZGVyIiwibW9kZWwiLCJvbk1vZGVsQ2hhbmdlZCIsImNvbmZpZ3VyYXRpb24iLCJvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkIiwiaW1hZ2VTdXBwb3J0IiwidXBsb2FkU291bmRTdXBwb3J0IiwicHJvcHMiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsInRpdGxlIiwib25DaGFuZ2UiLCJleHBvcnRzIiwiX2RlZmluZVByb3BlcnR5MiIsIlByb3BUeXBlcyIsIm9iamVjdCIsImZ1bmMiLCJpc1JlcXVpcmVkIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi9zcmMvbWFpbi5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgRGVzaWduIGZyb20gJy4vZGVzaWduJztcblxuZXhwb3J0IGNsYXNzIE1haW4gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNvbmZpZ3VyYXRpb246IFByb3BUeXBlcy5vYmplY3QsXG4gICAgb25Db25maWd1cmF0aW9uQ2hhbmdlZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBvbk1vZGVsQ2hhbmdlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBpbWFnZVN1cHBvcnQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgdXBsb2FkU291bmRTdXBwb3J0OiBQcm9wVHlwZXMub2JqZWN0LFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7fTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBtb2RlbCwgb25Nb2RlbENoYW5nZWQsIGNvbmZpZ3VyYXRpb24sIG9uQ29uZmlndXJhdGlvbkNoYW5nZWQsIGltYWdlU3VwcG9ydCwgdXBsb2FkU291bmRTdXBwb3J0IH0gPVxuICAgICAgdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8RGVzaWduXG4gICAgICAgIGltYWdlU3VwcG9ydD17aW1hZ2VTdXBwb3J0fVxuICAgICAgICB1cGxvYWRTb3VuZFN1cHBvcnQ9e3VwbG9hZFNvdW5kU3VwcG9ydH1cbiAgICAgICAgdGl0bGU9XCJEZXNpZ25cIlxuICAgICAgICBtb2RlbD17bW9kZWx9XG4gICAgICAgIGNvbmZpZ3VyYXRpb249e2NvbmZpZ3VyYXRpb259XG4gICAgICAgIG9uQ2hhbmdlPXtvbk1vZGVsQ2hhbmdlZH1cbiAgICAgICAgb25Db25maWd1cmF0aW9uQ2hhbmdlZD17b25Db25maWd1cmF0aW9uQ2hhbmdlZH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBNYWluO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUVPLE1BQU1HLElBQUksU0FBU0MsY0FBSyxDQUFDQyxTQUFTLENBQUM7RUFZeENDLE1BQU1BLENBQUEsRUFBRztJQUNQLE1BQU07TUFBRUMsS0FBSztNQUFFQyxjQUFjO01BQUVDLGFBQWE7TUFBRUMsc0JBQXNCO01BQUVDLFlBQVk7TUFBRUM7SUFBbUIsQ0FBQyxHQUN0RyxJQUFJLENBQUNDLEtBQUs7SUFFWixvQkFDRWYsTUFBQSxDQUFBZ0IsT0FBQSxDQUFBQyxhQUFBLENBQUNiLE9BQUEsQ0FBQVksT0FBTTtNQUNMSCxZQUFZLEVBQUVBLFlBQWE7TUFDM0JDLGtCQUFrQixFQUFFQSxrQkFBbUI7TUFDdkNJLEtBQUssRUFBQyxRQUFRO01BQ2RULEtBQUssRUFBRUEsS0FBTTtNQUNiRSxhQUFhLEVBQUVBLGFBQWM7TUFDN0JRLFFBQVEsRUFBRVQsY0FBZTtNQUN6QkUsc0JBQXNCLEVBQUVBO0lBQXVCLENBQ2hELENBQUM7RUFFTjtBQUNGO0FBQUNRLE9BQUEsQ0FBQWYsSUFBQSxHQUFBQSxJQUFBO0FBQUEsSUFBQWdCLGdCQUFBLENBQUFMLE9BQUEsRUE1QllYLElBQUksZUFDSTtFQUNqQk0sYUFBYSxFQUFFVyxrQkFBUyxDQUFDQyxNQUFNO0VBQy9CWCxzQkFBc0IsRUFBRVUsa0JBQVMsQ0FBQ0UsSUFBSTtFQUN0Q2YsS0FBSyxFQUFFYSxrQkFBUyxDQUFDQyxNQUFNLENBQUNFLFVBQVU7RUFDbENmLGNBQWMsRUFBRVksa0JBQVMsQ0FBQ0UsSUFBSSxDQUFDQyxVQUFVO0VBQ3pDWixZQUFZLEVBQUVTLGtCQUFTLENBQUNDLE1BQU07RUFDOUJULGtCQUFrQixFQUFFUSxrQkFBUyxDQUFDQztBQUNoQyxDQUFDO0FBQUEsSUFBQUYsZ0JBQUEsQ0FBQUwsT0FBQSxFQVJVWCxJQUFJLGtCQVVPLENBQUMsQ0FBQztBQUFBLElBQUFxQixRQUFBLEdBQUFOLE9BQUEsQ0FBQUosT0FBQSxHQW9CWFgsSUFBSSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_propTypes","_design","Main","React","Component","render","model","onModelChanged","configuration","onConfigurationChanged","imageSupport","uploadSoundSupport","props","default","createElement","title","onChange","exports","_defineProperty2","PropTypes","object","func","isRequired","_default"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Design from './design';\n\nexport class Main extends React.Component {\n static propTypes = {\n configuration: PropTypes.object,\n onConfigurationChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n onModelChanged: PropTypes.func.isRequired,\n imageSupport: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n };\n\n static defaultProps = {};\n\n render() {\n const { model, onModelChanged, configuration, onConfigurationChanged, imageSupport, uploadSoundSupport } =\n this.props;\n\n return (\n <Design\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n title=\"Design\"\n model={model}\n configuration={configuration}\n onChange={onModelChanged}\n onConfigurationChanged={onConfigurationChanged}\n />\n );\n }\n}\n\nexport default Main;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEO,MAAMG,IAAI,SAASC,cAAK,CAACC,SAAS,CAAC;EAYxCC,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,KAAK;MAAEC,cAAc;MAAEC,aAAa;MAAEC,sBAAsB;MAAEC,YAAY;MAAEC;IAAmB,CAAC,GACtG,IAAI,CAACC,KAAK;IAEZ,oBACEf,MAAA,CAAAgB,OAAA,CAAAC,aAAA,CAACb,OAAA,CAAAY,OAAM;MACLH,YAAY,EAAEA,YAAa;MAC3BC,kBAAkB,EAAEA,kBAAmB;MACvCI,KAAK,EAAC,QAAQ;MACdT,KAAK,EAAEA,KAAM;MACbE,aAAa,EAAEA,aAAc;MAC7BQ,QAAQ,EAAET,cAAe;MACzBE,sBAAsB,EAAEA;IAAuB,CAChD,CAAC;EAEN;AACF;AAACQ,OAAA,CAAAf,IAAA,GAAAA,IAAA;AAAA,IAAAgB,gBAAA,CAAAL,OAAA,EA5BYX,IAAI,eACI;EACjBM,aAAa,EAAEW,kBAAS,CAACC,MAAM;EAC/BX,sBAAsB,EAAEU,kBAAS,CAACE,IAAI;EACtCf,KAAK,EAAEa,kBAAS,CAACC,MAAM,CAACE,UAAU;EAClCf,cAAc,EAAEY,kBAAS,CAACE,IAAI,CAACC,UAAU;EACzCZ,YAAY,EAAES,kBAAS,CAACC,MAAM;EAC9BT,kBAAkB,EAAEQ,kBAAS,CAACC;AAChC,CAAC;AAAA,IAAAF,gBAAA,CAAAL,OAAA,EARUX,IAAI,kBAUO,CAAC,CAAC;AAAA,IAAAqB,QAAA,GAAAN,OAAA,CAAAJ,OAAA,GAoBXX,IAAI","ignoreList":[]}
|