@pie-element/ebsr 8.5.1-beta.3 → 8.5.1-beta.4
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/configure/lib/defaults.js +130 -0
- package/configure/lib/defaults.js.map +1 -0
- package/configure/lib/index.js +158 -0
- package/configure/lib/index.js.map +1 -0
- package/configure/lib/main.js +251 -0
- package/configure/lib/main.js.map +1 -0
- package/controller/lib/defaults.js +28 -0
- package/controller/lib/defaults.js.map +1 -0
- package/controller/lib/index.js +398 -0
- package/controller/lib/index.js.map +1 -0
- package/controller/lib/utils.js +25 -0
- package/controller/lib/utils.js.map +1 -0
- package/lib/index.js +160 -0
- package/lib/index.js.map +1 -0
- package/lib/print.js +199 -0
- package/lib/print.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
10
|
+
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; }
|
|
11
|
+
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) { (0, _defineProperty2["default"])(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; }
|
|
12
|
+
var defaultConfig = {
|
|
13
|
+
addChoiceButton: {
|
|
14
|
+
settings: true,
|
|
15
|
+
label: 'Add a Choice'
|
|
16
|
+
},
|
|
17
|
+
choiceMode: {
|
|
18
|
+
settings: true,
|
|
19
|
+
label: 'Response Type'
|
|
20
|
+
},
|
|
21
|
+
choicePrefix: {
|
|
22
|
+
settings: true,
|
|
23
|
+
label: 'Choice Labels'
|
|
24
|
+
},
|
|
25
|
+
deleteChoice: {
|
|
26
|
+
settings: true
|
|
27
|
+
},
|
|
28
|
+
feedback: {
|
|
29
|
+
settings: true,
|
|
30
|
+
label: 'Feedback'
|
|
31
|
+
},
|
|
32
|
+
lockChoiceOrder: {
|
|
33
|
+
settings: true,
|
|
34
|
+
label: 'Lock Choice Order'
|
|
35
|
+
},
|
|
36
|
+
prompt: {
|
|
37
|
+
settings: true,
|
|
38
|
+
label: 'Prompt'
|
|
39
|
+
},
|
|
40
|
+
rationale: {
|
|
41
|
+
settings: true,
|
|
42
|
+
label: 'Rationale'
|
|
43
|
+
},
|
|
44
|
+
settingsPanelDisabled: true,
|
|
45
|
+
studentInstructions: {
|
|
46
|
+
settings: false,
|
|
47
|
+
label: 'Student Instructions'
|
|
48
|
+
},
|
|
49
|
+
teacherInstructions: {
|
|
50
|
+
settings: true,
|
|
51
|
+
label: 'Teacher Instructions'
|
|
52
|
+
},
|
|
53
|
+
choicesLayout: {
|
|
54
|
+
settings: false,
|
|
55
|
+
label: 'Choices Layout'
|
|
56
|
+
},
|
|
57
|
+
gridColumns: {
|
|
58
|
+
label: 'Grid columns'
|
|
59
|
+
},
|
|
60
|
+
spellCheck: {
|
|
61
|
+
label: 'Spellcheck',
|
|
62
|
+
settings: false,
|
|
63
|
+
enabled: true
|
|
64
|
+
},
|
|
65
|
+
maxImageWidth: {
|
|
66
|
+
teacherInstructions: 300,
|
|
67
|
+
prompt: 300,
|
|
68
|
+
rationale: 636,
|
|
69
|
+
choices: 636
|
|
70
|
+
},
|
|
71
|
+
maxImageHeight: {
|
|
72
|
+
teacherInstructions: 300,
|
|
73
|
+
prompt: 300,
|
|
74
|
+
rationale: 300,
|
|
75
|
+
choices: 300
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
var partModel = function partModel(base) {
|
|
79
|
+
return _objectSpread({
|
|
80
|
+
choiceMode: 'radio',
|
|
81
|
+
choices: [],
|
|
82
|
+
choicePrefix: 'numbers',
|
|
83
|
+
prompt: 'Prompt',
|
|
84
|
+
rationaleEnabled: true,
|
|
85
|
+
feedbackEnabled: true,
|
|
86
|
+
promptEnabled: true,
|
|
87
|
+
teacherInstructions: '',
|
|
88
|
+
rationale: '',
|
|
89
|
+
teacherInstructionsEnabled: true,
|
|
90
|
+
studentInstructionsEnabled: true,
|
|
91
|
+
spellCheckEnabled: true,
|
|
92
|
+
choicesLayout: 'vertical',
|
|
93
|
+
gridColumns: '2'
|
|
94
|
+
}, base);
|
|
95
|
+
};
|
|
96
|
+
var _default = {
|
|
97
|
+
model: {
|
|
98
|
+
partLabels: true,
|
|
99
|
+
partLabelType: 'Letters',
|
|
100
|
+
// partialScoring: false,
|
|
101
|
+
partA: partModel({
|
|
102
|
+
prompt: 'Prompt A'
|
|
103
|
+
}),
|
|
104
|
+
partB: partModel({
|
|
105
|
+
prompt: 'Prompt B'
|
|
106
|
+
})
|
|
107
|
+
},
|
|
108
|
+
configuration: {
|
|
109
|
+
partialScoring: {
|
|
110
|
+
label: 'Allow Partial Scoring',
|
|
111
|
+
// this will turn off partial scoring toggle in the settings tab by default for the interaction
|
|
112
|
+
// as we'd like partial scoring to be controlled from the environment entirely
|
|
113
|
+
// if any other consumers would like to enable it for themselves, they can do so from their model directly.
|
|
114
|
+
settings: false
|
|
115
|
+
},
|
|
116
|
+
scoringType: {
|
|
117
|
+
settings: false,
|
|
118
|
+
label: 'Scoring Type'
|
|
119
|
+
},
|
|
120
|
+
partA: (0, _cloneDeep["default"])(defaultConfig),
|
|
121
|
+
partB: (0, _cloneDeep["default"])(defaultConfig),
|
|
122
|
+
partLabels: {
|
|
123
|
+
settings: true,
|
|
124
|
+
label: 'Part Labels'
|
|
125
|
+
},
|
|
126
|
+
settingsPanelDisabled: false
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
exports["default"] = _default;
|
|
130
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","names":["_cloneDeep","_interopRequireDefault","require","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","defaultConfig","addChoiceButton","settings","label","choiceMode","choicePrefix","deleteChoice","feedback","lockChoiceOrder","prompt","rationale","settingsPanelDisabled","studentInstructions","teacherInstructions","choicesLayout","gridColumns","spellCheck","enabled","maxImageWidth","choices","maxImageHeight","partModel","base","rationaleEnabled","feedbackEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","spellCheckEnabled","_default","model","partLabels","partLabelType","partA","partB","configuration","partialScoring","scoringType","cloneDeep","exports"],"sources":["../src/defaults.js"],"sourcesContent":["import cloneDeep from 'lodash/cloneDeep';\n\nconst defaultConfig = {\n addChoiceButton: {\n settings: true,\n label: 'Add a Choice',\n },\n choiceMode: {\n settings: true,\n label: 'Response Type',\n },\n choicePrefix: {\n settings: true,\n label: 'Choice Labels',\n },\n deleteChoice: {\n settings: true,\n },\n feedback: {\n settings: true,\n label: 'Feedback',\n },\n lockChoiceOrder: {\n settings: true,\n label: 'Lock Choice Order',\n },\n prompt: {\n settings: true,\n label: 'Prompt',\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n },\n settingsPanelDisabled: true,\n studentInstructions: {\n settings: false,\n label: 'Student Instructions',\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n },\n choicesLayout: {\n settings: false,\n label: 'Choices Layout',\n },\n gridColumns: {\n label: 'Grid columns',\n },\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 636,\n choices: 636,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n choices: 300,\n },\n};\n\nconst partModel = (base) => ({\n choiceMode: 'radio',\n choices: [],\n choicePrefix: 'numbers',\n prompt: 'Prompt',\n rationaleEnabled: true,\n feedbackEnabled: true,\n promptEnabled: true,\n teacherInstructions: '',\n rationale: '',\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n spellCheckEnabled: true,\n choicesLayout: 'vertical',\n gridColumns: '2',\n ...base,\n});\n\nexport default {\n model: {\n partLabels: true,\n partLabelType: 'Letters',\n // partialScoring: false,\n partA: partModel({ prompt: 'Prompt A' }),\n partB: partModel({ prompt: 'Prompt B' }),\n },\n configuration: {\n partialScoring: {\n label: 'Allow Partial Scoring',\n // this will turn off partial scoring toggle in the settings tab by default for the interaction\n // as we'd like partial scoring to be controlled from the environment entirely\n // if any other consumers would like to enable it for themselves, they can do so from their model directly.\n settings: false,\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n partA: cloneDeep(defaultConfig),\n partB: cloneDeep(defaultConfig),\n partLabels: {\n settings: true,\n label: 'Part Labels',\n },\n settingsPanelDisabled: false,\n },\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
9
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
10
|
+
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
11
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
16
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
17
|
+
var _react = _interopRequireDefault(require("react"));
|
|
18
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
19
|
+
var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
|
|
20
|
+
var _lib = _interopRequireDefault(require("@pie-element/multiple-choice/configure/lib"));
|
|
21
|
+
var _defaults = _interopRequireDefault(require("lodash/defaults"));
|
|
22
|
+
var _main = _interopRequireDefault(require("./main"));
|
|
23
|
+
var _defaults2 = _interopRequireDefault(require("./defaults"));
|
|
24
|
+
var _excluded = ["partA", "partB"];
|
|
25
|
+
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; }
|
|
26
|
+
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) { (0, _defineProperty2["default"])(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; }
|
|
27
|
+
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); }; }
|
|
28
|
+
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; } }
|
|
29
|
+
var MODEL_UPDATED = _pieConfigureEvents.ModelUpdatedEvent.TYPE;
|
|
30
|
+
var MC_TAG_NAME = 'ebsr-multiple-choice-configure';
|
|
31
|
+
var EbsrMCConfigure = /*#__PURE__*/function (_MultipleChoiceConfig) {
|
|
32
|
+
(0, _inherits2["default"])(EbsrMCConfigure, _MultipleChoiceConfig);
|
|
33
|
+
var _super = _createSuper(EbsrMCConfigure);
|
|
34
|
+
function EbsrMCConfigure() {
|
|
35
|
+
(0, _classCallCheck2["default"])(this, EbsrMCConfigure);
|
|
36
|
+
return _super.apply(this, arguments);
|
|
37
|
+
}
|
|
38
|
+
return (0, _createClass2["default"])(EbsrMCConfigure);
|
|
39
|
+
}(_lib["default"]);
|
|
40
|
+
var defineMultipleChoice = function defineMultipleChoice() {
|
|
41
|
+
if (!customElements.get(MC_TAG_NAME)) {
|
|
42
|
+
customElements.define(MC_TAG_NAME, EbsrMCConfigure);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
defineMultipleChoice();
|
|
46
|
+
var prepareCustomizationObject = function prepareCustomizationObject(config, model) {
|
|
47
|
+
var configuration = (0, _defaults["default"])(config, _defaults2["default"].configuration);
|
|
48
|
+
configuration.settingsPanelDisabled = true;
|
|
49
|
+
return {
|
|
50
|
+
configuration: configuration,
|
|
51
|
+
model: model
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
var _ref = _defaults2["default"] || {},
|
|
55
|
+
modelDefault = _ref.model;
|
|
56
|
+
var EbsrConfigure = /*#__PURE__*/function (_HTMLElement) {
|
|
57
|
+
(0, _inherits2["default"])(EbsrConfigure, _HTMLElement);
|
|
58
|
+
var _super2 = _createSuper(EbsrConfigure);
|
|
59
|
+
function EbsrConfigure() {
|
|
60
|
+
var _this;
|
|
61
|
+
(0, _classCallCheck2["default"])(this, EbsrConfigure);
|
|
62
|
+
_this = _super2.call(this);
|
|
63
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onModelChanged", function (m, reset) {
|
|
64
|
+
_this._model = EbsrConfigure.createDefaultModel(m, _this._model);
|
|
65
|
+
_this.dispatchModelUpdated(reset);
|
|
66
|
+
_this._render();
|
|
67
|
+
});
|
|
68
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onModelUpdated", function (e) {
|
|
69
|
+
if (e.target === (0, _assertThisInitialized2["default"])(_this)) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
e.preventDefault();
|
|
73
|
+
e.stopImmediatePropagation();
|
|
74
|
+
var id = e.target && e.target.getAttribute('id');
|
|
75
|
+
if (id) {
|
|
76
|
+
if (e.update) {
|
|
77
|
+
_this._model["part".concat(id)] = e.update;
|
|
78
|
+
}
|
|
79
|
+
_this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(_this._model));
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
_this._model = EbsrConfigure.createDefaultModel();
|
|
83
|
+
_this._configuration = _defaults2["default"].configuration;
|
|
84
|
+
_this.onConfigurationChanged = _this.onConfigurationChanged.bind((0, _assertThisInitialized2["default"])(_this));
|
|
85
|
+
return _this;
|
|
86
|
+
}
|
|
87
|
+
(0, _createClass2["default"])(EbsrConfigure, [{
|
|
88
|
+
key: "model",
|
|
89
|
+
set: function set(m) {
|
|
90
|
+
this._model = EbsrConfigure.createDefaultModel(m, this._model);
|
|
91
|
+
this._render();
|
|
92
|
+
}
|
|
93
|
+
}, {
|
|
94
|
+
key: "dispatchModelUpdated",
|
|
95
|
+
value: function dispatchModelUpdated(reset) {
|
|
96
|
+
var resetValue = !!reset;
|
|
97
|
+
this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model, resetValue));
|
|
98
|
+
}
|
|
99
|
+
}, {
|
|
100
|
+
key: "configuration",
|
|
101
|
+
set: function set(c) {
|
|
102
|
+
var info = prepareCustomizationObject(c, this._model);
|
|
103
|
+
this._configuration = info.configuration;
|
|
104
|
+
this._render();
|
|
105
|
+
}
|
|
106
|
+
}, {
|
|
107
|
+
key: "onConfigurationChanged",
|
|
108
|
+
value: function onConfigurationChanged(c) {
|
|
109
|
+
this._configuration = prepareCustomizationObject(c, this._model).configuration;
|
|
110
|
+
if (this._model) {
|
|
111
|
+
this.onModelChanged(this._model);
|
|
112
|
+
}
|
|
113
|
+
this._render();
|
|
114
|
+
}
|
|
115
|
+
}, {
|
|
116
|
+
key: "connectedCallback",
|
|
117
|
+
value: function connectedCallback() {
|
|
118
|
+
this.addEventListener(MODEL_UPDATED, this.onModelUpdated);
|
|
119
|
+
this._render();
|
|
120
|
+
}
|
|
121
|
+
}, {
|
|
122
|
+
key: "disconnectedCallback",
|
|
123
|
+
value: function disconnectedCallback() {
|
|
124
|
+
this.removeEventListener(MODEL_UPDATED, this.onModelUpdated);
|
|
125
|
+
}
|
|
126
|
+
}, {
|
|
127
|
+
key: "_render",
|
|
128
|
+
value: function _render() {
|
|
129
|
+
var element = /*#__PURE__*/_react["default"].createElement(_main["default"], {
|
|
130
|
+
model: this._model,
|
|
131
|
+
configuration: this._configuration,
|
|
132
|
+
onModelChanged: this.onModelChanged,
|
|
133
|
+
onConfigurationChanged: this.onConfigurationChanged
|
|
134
|
+
});
|
|
135
|
+
_reactDom["default"].render(element, this);
|
|
136
|
+
}
|
|
137
|
+
}]);
|
|
138
|
+
return EbsrConfigure;
|
|
139
|
+
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
140
|
+
exports["default"] = EbsrConfigure;
|
|
141
|
+
(0, _defineProperty2["default"])(EbsrConfigure, "createDefaultModel", function () {
|
|
142
|
+
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
143
|
+
_ref2$partA = _ref2.partA,
|
|
144
|
+
partA = _ref2$partA === void 0 ? {} : _ref2$partA,
|
|
145
|
+
_ref2$partB = _ref2.partB,
|
|
146
|
+
partB = _ref2$partB === void 0 ? {} : _ref2$partB,
|
|
147
|
+
model = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
|
|
148
|
+
var defaults = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : modelDefault;
|
|
149
|
+
return _objectSpread(_objectSpread(_objectSpread({}, defaults), model), {}, {
|
|
150
|
+
partA: _objectSpread(_objectSpread(_objectSpread({}, defaults.partA), partA), {}, {
|
|
151
|
+
choicesLayout: partA.choicesLayout || partA.verticalMode === false && 'horizontal' || defaults.partA.choicesLayout
|
|
152
|
+
}),
|
|
153
|
+
partB: _objectSpread(_objectSpread(_objectSpread({}, defaults.partB), partB), {}, {
|
|
154
|
+
choicesLayout: partB.choicesLayout || partB.verticalMode === false && 'horizontal' || defaults.partB.choicesLayout
|
|
155
|
+
})
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_reactDom","_pieConfigureEvents","_lib","_defaults","_main","_defaults2","_excluded","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","MODEL_UPDATED","ModelUpdatedEvent","TYPE","MC_TAG_NAME","EbsrMCConfigure","_MultipleChoiceConfig","_inherits2","_super","_classCallCheck2","_createClass2","MultipleChoiceConfigure","defineMultipleChoice","customElements","get","define","prepareCustomizationObject","config","model","configuration","defaults","sensibleDefaults","settingsPanelDisabled","_ref","modelDefault","EbsrConfigure","_HTMLElement","_super2","_this","_assertThisInitialized2","m","reset","_model","createDefaultModel","dispatchModelUpdated","_render","preventDefault","stopImmediatePropagation","id","getAttribute","update","concat","dispatchEvent","_configuration","onConfigurationChanged","bind","set","value","resetValue","c","info","onModelChanged","connectedCallback","addEventListener","onModelUpdated","disconnectedCallback","removeEventListener","element","React","createElement","Main","ReactDOM","render","_wrapNativeSuper2","HTMLElement","exports","_ref2","undefined","_ref2$partA","partA","_ref2$partB","partB","_objectWithoutProperties2","choicesLayout","verticalMode"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ModelUpdatedEvent } from '@pie-framework/pie-configure-events';\nimport MultipleChoiceConfigure from '@pie-element/multiple-choice/configure/lib';\nimport defaults from 'lodash/defaults';\nimport Main from './main';\n\nimport sensibleDefaults from './defaults';\n\nconst MODEL_UPDATED = ModelUpdatedEvent.TYPE;\nconst MC_TAG_NAME = 'ebsr-multiple-choice-configure';\n\nclass EbsrMCConfigure extends MultipleChoiceConfigure {}\n\nconst defineMultipleChoice = () => {\n if (!customElements.get(MC_TAG_NAME)) {\n customElements.define(MC_TAG_NAME, EbsrMCConfigure);\n }\n};\n\ndefineMultipleChoice();\n\nconst prepareCustomizationObject = (config, model) => {\n const configuration = defaults(config, sensibleDefaults.configuration);\n configuration.settingsPanelDisabled = true;\n\n return {\n configuration,\n model,\n };\n};\n\nconst { model: modelDefault } = sensibleDefaults || {};\n\nexport default class EbsrConfigure extends HTMLElement {\n static createDefaultModel = ({ partA = {}, partB = {}, ...model } = {}, defaults = modelDefault) => ({\n ...defaults,\n ...model,\n partA: {\n ...defaults.partA,\n ...partA,\n choicesLayout:\n partA.choicesLayout || (partA.verticalMode === false && 'horizontal') || defaults.partA.choicesLayout,\n },\n partB: {\n ...defaults.partB,\n ...partB,\n choicesLayout:\n partB.choicesLayout || (partB.verticalMode === false && 'horizontal') || defaults.partB.choicesLayout,\n },\n });\n\n constructor() {\n super();\n\n this._model = EbsrConfigure.createDefaultModel();\n\n this._configuration = sensibleDefaults.configuration;\n this.onConfigurationChanged = this.onConfigurationChanged.bind(this);\n }\n\n set model(m) {\n this._model = EbsrConfigure.createDefaultModel(m, this._model);\n\n this._render();\n }\n\n dispatchModelUpdated(reset) {\n const resetValue = !!reset;\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model, resetValue));\n }\n\n onModelChanged = (m, reset) => {\n this._model = EbsrConfigure.createDefaultModel(m, this._model);\n\n this.dispatchModelUpdated(reset);\n this._render();\n };\n\n set configuration(c) {\n const info = prepareCustomizationObject(c, this._model);\n this._configuration = info.configuration;\n\n this._render();\n }\n\n onConfigurationChanged(c) {\n this._configuration = prepareCustomizationObject(c, this._model).configuration;\n\n if (this._model) {\n this.onModelChanged(this._model);\n }\n\n this._render();\n }\n\n onModelUpdated = (e) => {\n if (e.target === this) {\n return;\n }\n\n e.preventDefault();\n e.stopImmediatePropagation();\n\n const id = e.target && e.target.getAttribute('id');\n\n if (id) {\n if (e.update) {\n this._model[`part${id}`] = e.update;\n }\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n }\n };\n\n connectedCallback() {\n this.addEventListener(MODEL_UPDATED, this.onModelUpdated);\n this._render();\n }\n\n disconnectedCallback() {\n this.removeEventListener(MODEL_UPDATED, this.onModelUpdated);\n }\n\n _render() {\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n });\n\n ReactDOM.render(element, this);\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = exports.Main = void 0;
|
|
8
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
14
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
15
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
|
17
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
18
|
+
var _configUi = require("@pie-lib/config-ui");
|
|
19
|
+
var _styles = require("@material-ui/core/styles");
|
|
20
|
+
var _excluded = ["partA", "partB", "partialScoring", "settingsPanelDisabled", "scoringType"];
|
|
21
|
+
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; }
|
|
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) { (0, _defineProperty2["default"])(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
|
+
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); }; }
|
|
24
|
+
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; } }
|
|
25
|
+
var Panel = _configUi.settings.Panel,
|
|
26
|
+
toggle = _configUi.settings.toggle,
|
|
27
|
+
radio = _configUi.settings.radio,
|
|
28
|
+
dropdown = _configUi.settings.dropdown;
|
|
29
|
+
var styles = function styles(theme) {
|
|
30
|
+
return {
|
|
31
|
+
part: {
|
|
32
|
+
display: 'flex',
|
|
33
|
+
flexDirection: 'column',
|
|
34
|
+
'&:not(:first-child)': {
|
|
35
|
+
paddingTop: theme.spacing.unit * 4
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
var Main = /*#__PURE__*/function (_React$Component) {
|
|
41
|
+
(0, _inherits2["default"])(Main, _React$Component);
|
|
42
|
+
var _super = _createSuper(Main);
|
|
43
|
+
function Main() {
|
|
44
|
+
var _this;
|
|
45
|
+
(0, _classCallCheck2["default"])(this, Main);
|
|
46
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
47
|
+
args[_key] = arguments[_key];
|
|
48
|
+
}
|
|
49
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
50
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "removeExtraChoices", function (choices) {
|
|
51
|
+
var correctFound = false;
|
|
52
|
+
return (choices || []).map(function (choice) {
|
|
53
|
+
if (correctFound) {
|
|
54
|
+
choice.correct = false;
|
|
55
|
+
return choice;
|
|
56
|
+
}
|
|
57
|
+
if (choice.correct) {
|
|
58
|
+
correctFound = true;
|
|
59
|
+
}
|
|
60
|
+
return choice;
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onModelChanged", function (model, key) {
|
|
64
|
+
var onModelChanged = _this.props.onModelChanged;
|
|
65
|
+
if (key === 'partA.choiceMode' && model.partA.choiceMode === 'radio') {
|
|
66
|
+
model.partA.choices = _this.removeExtraChoices(model.partA.choices);
|
|
67
|
+
return onModelChanged(model, true);
|
|
68
|
+
}
|
|
69
|
+
if (key === 'partB.choiceMode' && model.partB.choiceMode === 'radio') {
|
|
70
|
+
model.partB.choices = _this.removeExtraChoices(model.partB.choices);
|
|
71
|
+
return onModelChanged(model, true);
|
|
72
|
+
}
|
|
73
|
+
return onModelChanged(model);
|
|
74
|
+
});
|
|
75
|
+
return _this;
|
|
76
|
+
}
|
|
77
|
+
(0, _createClass2["default"])(Main, [{
|
|
78
|
+
key: "render",
|
|
79
|
+
value: function render() {
|
|
80
|
+
var _ref3,
|
|
81
|
+
_this2 = this;
|
|
82
|
+
var _this$props = this.props,
|
|
83
|
+
classes = _this$props.classes,
|
|
84
|
+
model = _this$props.model,
|
|
85
|
+
configuration = _this$props.configuration,
|
|
86
|
+
onConfigurationChanged = _this$props.onConfigurationChanged;
|
|
87
|
+
var partLabelType = model.partLabelType,
|
|
88
|
+
modelPartA = model.partA,
|
|
89
|
+
modelPartB = model.partB;
|
|
90
|
+
var partA = configuration.partA,
|
|
91
|
+
partB = configuration.partB,
|
|
92
|
+
partialScoring = configuration.partialScoring,
|
|
93
|
+
settingsPanelDisabled = configuration.settingsPanelDisabled,
|
|
94
|
+
scoringType = configuration.scoringType,
|
|
95
|
+
generalConfiguration = (0, _objectWithoutProperties2["default"])(configuration, _excluded);
|
|
96
|
+
var _ref = partA || {},
|
|
97
|
+
_ref$feedback = _ref.feedback,
|
|
98
|
+
feedbackA = _ref$feedback === void 0 ? {} : _ref$feedback,
|
|
99
|
+
_ref$choiceMode = _ref.choiceMode,
|
|
100
|
+
choiceModeA = _ref$choiceMode === void 0 ? {} : _ref$choiceMode,
|
|
101
|
+
_ref$choicePrefix = _ref.choicePrefix,
|
|
102
|
+
choicePrefixA = _ref$choicePrefix === void 0 ? {} : _ref$choicePrefix,
|
|
103
|
+
_ref$lockChoiceOrder = _ref.lockChoiceOrder,
|
|
104
|
+
lockChoiceOrderA = _ref$lockChoiceOrder === void 0 ? {} : _ref$lockChoiceOrder,
|
|
105
|
+
_ref$prompt = _ref.prompt,
|
|
106
|
+
promptA = _ref$prompt === void 0 ? {} : _ref$prompt,
|
|
107
|
+
_ref$teacherInstructi = _ref.teacherInstructions,
|
|
108
|
+
teacherInstructionsA = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi,
|
|
109
|
+
_ref$studentInstructi = _ref.studentInstructions,
|
|
110
|
+
studentInstructionsA = _ref$studentInstructi === void 0 ? {} : _ref$studentInstructi,
|
|
111
|
+
_ref$choicesLayout = _ref.choicesLayout,
|
|
112
|
+
choicesLayoutA = _ref$choicesLayout === void 0 ? {} : _ref$choicesLayout,
|
|
113
|
+
_ref$gridColumns = _ref.gridColumns,
|
|
114
|
+
gridColumnsA = _ref$gridColumns === void 0 ? {} : _ref$gridColumns,
|
|
115
|
+
_ref$rationale = _ref.rationale,
|
|
116
|
+
rationaleA = _ref$rationale === void 0 ? {} : _ref$rationale,
|
|
117
|
+
_ref$spellCheck = _ref.spellCheck,
|
|
118
|
+
spellCheckA = _ref$spellCheck === void 0 ? {} : _ref$spellCheck;
|
|
119
|
+
var _ref2 = partB || {},
|
|
120
|
+
_ref2$feedback = _ref2.feedback,
|
|
121
|
+
feedbackB = _ref2$feedback === void 0 ? {} : _ref2$feedback,
|
|
122
|
+
_ref2$choiceMode = _ref2.choiceMode,
|
|
123
|
+
choiceModeB = _ref2$choiceMode === void 0 ? {} : _ref2$choiceMode,
|
|
124
|
+
_ref2$choicePrefix = _ref2.choicePrefix,
|
|
125
|
+
choicePrefixB = _ref2$choicePrefix === void 0 ? {} : _ref2$choicePrefix,
|
|
126
|
+
_ref2$lockChoiceOrder = _ref2.lockChoiceOrder,
|
|
127
|
+
lockChoiceOrderB = _ref2$lockChoiceOrder === void 0 ? {} : _ref2$lockChoiceOrder,
|
|
128
|
+
_ref2$prompt = _ref2.prompt,
|
|
129
|
+
promptB = _ref2$prompt === void 0 ? {} : _ref2$prompt,
|
|
130
|
+
_ref2$teacherInstruct = _ref2.teacherInstructions,
|
|
131
|
+
teacherInstructionsB = _ref2$teacherInstruct === void 0 ? {} : _ref2$teacherInstruct,
|
|
132
|
+
_ref2$studentInstruct = _ref2.studentInstructions,
|
|
133
|
+
studentInstructionsB = _ref2$studentInstruct === void 0 ? {} : _ref2$studentInstruct,
|
|
134
|
+
_ref2$choicesLayout = _ref2.choicesLayout,
|
|
135
|
+
choicesLayoutB = _ref2$choicesLayout === void 0 ? {} : _ref2$choicesLayout,
|
|
136
|
+
_ref2$gridColumns = _ref2.gridColumns,
|
|
137
|
+
gridColumnsB = _ref2$gridColumns === void 0 ? {} : _ref2$gridColumns,
|
|
138
|
+
_ref2$rationale = _ref2.rationale,
|
|
139
|
+
rationaleB = _ref2$rationale === void 0 ? {} : _ref2$rationale,
|
|
140
|
+
_ref2$spellCheck = _ref2.spellCheck,
|
|
141
|
+
spellCheckB = _ref2$spellCheck === void 0 ? {} : _ref2$spellCheck;
|
|
142
|
+
var type = partLabelType || 'Numbers';
|
|
143
|
+
var typeIsNumber = type === 'Numbers';
|
|
144
|
+
var firstPart = "Part ".concat(typeIsNumber ? '1' : 'A');
|
|
145
|
+
var secondPart = "Part ".concat(typeIsNumber ? '2' : 'B');
|
|
146
|
+
var nrOfColumnsAvailable = {
|
|
147
|
+
partA: modelPartA.choices && modelPartA.choices.length ? Array.from({
|
|
148
|
+
length: modelPartA.choices.length
|
|
149
|
+
}, function (_, i) {
|
|
150
|
+
return "".concat(i + 1);
|
|
151
|
+
}) : [],
|
|
152
|
+
partB: modelPartB.choices && modelPartB.choices.length ? Array.from({
|
|
153
|
+
length: modelPartB.choices.length
|
|
154
|
+
}, function (_, i) {
|
|
155
|
+
return "".concat(i + 1);
|
|
156
|
+
}) : []
|
|
157
|
+
};
|
|
158
|
+
var panelSettings = {
|
|
159
|
+
partLabels: generalConfiguration.partLabels.settings && toggle(generalConfiguration.partLabels.label),
|
|
160
|
+
partLabelType: model.partLabels && dropdown('', ['Numbers', 'Letters']),
|
|
161
|
+
partialScoring: partialScoring.settings && toggle(partialScoring.label),
|
|
162
|
+
scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric'])
|
|
163
|
+
};
|
|
164
|
+
var panelSettingsPartA = {
|
|
165
|
+
'partA.choiceMode': choiceModeA.settings && radio(choiceModeA.label, ['checkbox', 'radio']),
|
|
166
|
+
'partA.choicePrefix': choicePrefixA.settings && radio(choicePrefixA.label, ['numbers', 'letters']),
|
|
167
|
+
'partA.lockChoiceOrder': lockChoiceOrderA.settings && toggle(lockChoiceOrderA.label),
|
|
168
|
+
'partA.choicesLayout': choicesLayoutA.settings && dropdown(choicesLayoutA.label, ['vertical', 'grid', 'horizontal']),
|
|
169
|
+
'partA.gridColumns': choicesLayoutA.settings && modelPartA.choicesLayout === 'grid' && nrOfColumnsAvailable.partA.length > 0 && dropdown(gridColumnsA.label, nrOfColumnsAvailable.partA)
|
|
170
|
+
};
|
|
171
|
+
var panelPropertiesPartA = {
|
|
172
|
+
'partA.feedbackEnabled': feedbackA.settings && toggle(feedbackA.label),
|
|
173
|
+
'partA.promptEnabled': promptA.settings && toggle(promptA.label),
|
|
174
|
+
'partA.teacherInstructionsEnabled': teacherInstructionsA.settings && toggle(teacherInstructionsA.label),
|
|
175
|
+
'partA.studentInstructionsEnabled': studentInstructionsA.settings && toggle(studentInstructionsA.label),
|
|
176
|
+
'partA.rationaleEnabled': rationaleA.settings && toggle(rationaleA.label),
|
|
177
|
+
'partA.spellCheckEnabled': spellCheckA.settings && toggle(spellCheckA.label)
|
|
178
|
+
};
|
|
179
|
+
var panelSettingsPartB = {
|
|
180
|
+
'partB.choiceMode': choiceModeB.settings && radio(choiceModeB.label, ['checkbox', 'radio']),
|
|
181
|
+
'partB.choicePrefix': choicePrefixB.settings && radio(choicePrefixB.label, ['numbers', 'letters']),
|
|
182
|
+
'partB.lockChoiceOrder': lockChoiceOrderB.settings && toggle(lockChoiceOrderB.label),
|
|
183
|
+
'partB.choicesLayout': choicesLayoutB.settings && dropdown(choicesLayoutB.label, ['vertical', 'grid', 'horizontal']),
|
|
184
|
+
'partB.gridColumns': choicesLayoutB.settings && modelPartB.choicesLayout === 'grid' && nrOfColumnsAvailable.partB.length > 0 && dropdown(gridColumnsB.label, nrOfColumnsAvailable.partB)
|
|
185
|
+
};
|
|
186
|
+
var panelPropertiesPartB = {
|
|
187
|
+
'partB.feedbackEnabled': feedbackB.settings && toggle(feedbackB.label),
|
|
188
|
+
'partB.promptEnabled': promptB.settings && toggle(promptB.label),
|
|
189
|
+
'partB.teacherInstructionsEnabled': teacherInstructionsB.settings && toggle(teacherInstructionsB.label),
|
|
190
|
+
'partB.studentInstructionsEnabled': studentInstructionsB.settings && toggle(studentInstructionsB.label),
|
|
191
|
+
'partB.rationaleEnabled': rationaleB.settings && toggle(rationaleB.label),
|
|
192
|
+
'partB.spellCheckEnabled': spellCheckB.settings && toggle(spellCheckB.label)
|
|
193
|
+
};
|
|
194
|
+
return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
|
|
195
|
+
hideSettings: settingsPanelDisabled,
|
|
196
|
+
settings: /*#__PURE__*/_react["default"].createElement(Panel, {
|
|
197
|
+
model: model,
|
|
198
|
+
onChangeModel: this.onModelChanged,
|
|
199
|
+
configuration: configuration,
|
|
200
|
+
onChangeConfiguration: onConfigurationChanged,
|
|
201
|
+
groups: (_ref3 = {
|
|
202
|
+
'Settings for both': panelSettings
|
|
203
|
+
}, (0, _defineProperty2["default"])(_ref3, "Settings ".concat(firstPart), panelSettingsPartA), (0, _defineProperty2["default"])(_ref3, "Properties ".concat(firstPart), panelPropertiesPartA), (0, _defineProperty2["default"])(_ref3, "Settings ".concat(secondPart), panelSettingsPartB), (0, _defineProperty2["default"])(_ref3, "Properties ".concat(secondPart), panelPropertiesPartB), _ref3)
|
|
204
|
+
})
|
|
205
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
206
|
+
className: classes.part
|
|
207
|
+
}, model.partLabels && /*#__PURE__*/_react["default"].createElement("div", null, firstPart), /*#__PURE__*/_react["default"].createElement("ebsr-multiple-choice-configure", {
|
|
208
|
+
id: "A",
|
|
209
|
+
key: "partA",
|
|
210
|
+
ref: function ref(_ref4) {
|
|
211
|
+
if (_ref4) {
|
|
212
|
+
// do not use destructuring to get model from props
|
|
213
|
+
_this2.partA = _ref4;
|
|
214
|
+
_this2.partA._model = _objectSpread(_objectSpread({}, _this2.props.model.partA), {}, {
|
|
215
|
+
errors: _this2.props.model.errors && _this2.props.model.errors.partA || {}
|
|
216
|
+
});
|
|
217
|
+
_this2.partA.configuration = _objectSpread(_objectSpread({}, partA), generalConfiguration);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
221
|
+
className: classes.part
|
|
222
|
+
}, model.partLabels && /*#__PURE__*/_react["default"].createElement("div", null, secondPart), /*#__PURE__*/_react["default"].createElement("ebsr-multiple-choice-configure", {
|
|
223
|
+
id: "B",
|
|
224
|
+
key: "partB",
|
|
225
|
+
ref: function ref(_ref5) {
|
|
226
|
+
if (_ref5) {
|
|
227
|
+
// do not use destructuring to get model from props
|
|
228
|
+
_this2.partB = _ref5;
|
|
229
|
+
_this2.partB._model = _objectSpread(_objectSpread({}, _this2.props.model.partB), {}, {
|
|
230
|
+
errors: _this2.props.model.errors && _this2.props.model.errors.partB || {}
|
|
231
|
+
});
|
|
232
|
+
_this2.partB.configuration = _objectSpread(_objectSpread({}, partB), generalConfiguration);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}))));
|
|
236
|
+
}
|
|
237
|
+
}]);
|
|
238
|
+
return Main;
|
|
239
|
+
}(_react["default"].Component);
|
|
240
|
+
exports.Main = Main;
|
|
241
|
+
(0, _defineProperty2["default"])(Main, "propTypes", {
|
|
242
|
+
classes: _propTypes["default"].object,
|
|
243
|
+
configuration: _propTypes["default"].object,
|
|
244
|
+
model: _propTypes["default"].object,
|
|
245
|
+
onModelChanged: _propTypes["default"].func,
|
|
246
|
+
onConfigurationChanged: _propTypes["default"].func
|
|
247
|
+
});
|
|
248
|
+
var Styled = (0, _styles.withStyles)(styles)(Main);
|
|
249
|
+
var _default = Styled;
|
|
250
|
+
exports["default"] = _default;
|
|
251
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_propTypes","_configUi","_styles","_excluded","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","Panel","settings","toggle","radio","dropdown","styles","theme","part","display","flexDirection","paddingTop","spacing","unit","Main","_React$Component","_inherits2","_super","_this","_classCallCheck2","_len","args","Array","_key","concat","_assertThisInitialized2","choices","correctFound","map","choice","correct","model","onModelChanged","props","partA","choiceMode","removeExtraChoices","partB","_createClass2","value","render","_ref3","_this2","_this$props","classes","configuration","onConfigurationChanged","partLabelType","modelPartA","modelPartB","partialScoring","settingsPanelDisabled","scoringType","generalConfiguration","_objectWithoutProperties2","_ref","_ref$feedback","feedback","feedbackA","_ref$choiceMode","choiceModeA","_ref$choicePrefix","choicePrefix","choicePrefixA","_ref$lockChoiceOrder","lockChoiceOrder","lockChoiceOrderA","_ref$prompt","prompt","promptA","_ref$teacherInstructi","teacherInstructions","teacherInstructionsA","_ref$studentInstructi","studentInstructions","studentInstructionsA","_ref$choicesLayout","choicesLayout","choicesLayoutA","_ref$gridColumns","gridColumns","gridColumnsA","_ref$rationale","rationale","rationaleA","_ref$spellCheck","spellCheck","spellCheckA","_ref2","_ref2$feedback","feedbackB","_ref2$choiceMode","choiceModeB","_ref2$choicePrefix","choicePrefixB","_ref2$lockChoiceOrder","lockChoiceOrderB","_ref2$prompt","promptB","_ref2$teacherInstruct","teacherInstructionsB","_ref2$studentInstruct","studentInstructionsB","_ref2$choicesLayout","choicesLayoutB","_ref2$gridColumns","gridColumnsB","_ref2$rationale","rationaleB","_ref2$spellCheck","spellCheckB","type","typeIsNumber","firstPart","secondPart","nrOfColumnsAvailable","from","_","panelSettings","partLabels","label","panelSettingsPartA","panelPropertiesPartA","panelSettingsPartB","panelPropertiesPartB","createElement","layout","ConfigLayout","hideSettings","onChangeModel","onChangeConfiguration","groups","className","id","ref","_model","errors","React","Component","exports","PropTypes","func","Styled","withStyles","_default"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { settings, layout } from '@pie-lib/config-ui';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst { Panel, toggle, radio, dropdown } = settings;\n\nconst styles = (theme) => ({\n part: {\n display: 'flex',\n flexDirection: 'column',\n '&:not(:first-child)': {\n paddingTop: theme.spacing.unit * 4,\n },\n },\n});\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n configuration: PropTypes.object,\n model: PropTypes.object,\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n };\n\n removeExtraChoices = (choices) => {\n let correctFound = false;\n\n return (choices || []).map((choice) => {\n if (correctFound) {\n choice.correct = false;\n\n return choice;\n }\n\n if (choice.correct) {\n correctFound = true;\n }\n\n return choice;\n });\n };\n\n onModelChanged = (model, key) => {\n const { onModelChanged } = this.props;\n\n if (key === 'partA.choiceMode' && model.partA.choiceMode === 'radio') {\n model.partA.choices = this.removeExtraChoices(model.partA.choices);\n\n return onModelChanged(model, true);\n }\n\n if (key === 'partB.choiceMode' && model.partB.choiceMode === 'radio') {\n model.partB.choices = this.removeExtraChoices(model.partB.choices);\n\n return onModelChanged(model, true);\n }\n\n return onModelChanged(model);\n };\n\n render() {\n const { classes, model, configuration, onConfigurationChanged } = this.props;\n const { partLabelType, partA: modelPartA, partB: modelPartB } = model;\n const { partA, partB, partialScoring, settingsPanelDisabled, scoringType, ...generalConfiguration } = configuration;\n const {\n feedback: feedbackA = {},\n choiceMode: choiceModeA = {},\n choicePrefix: choicePrefixA = {},\n lockChoiceOrder: lockChoiceOrderA = {},\n prompt: promptA = {},\n teacherInstructions: teacherInstructionsA = {},\n studentInstructions: studentInstructionsA = {},\n choicesLayout: choicesLayoutA = {},\n gridColumns: gridColumnsA = {},\n rationale: rationaleA = {},\n spellCheck: spellCheckA = {},\n } = partA || {};\n const {\n feedback: feedbackB = {},\n choiceMode: choiceModeB = {},\n choicePrefix: choicePrefixB = {},\n lockChoiceOrder: lockChoiceOrderB = {},\n prompt: promptB = {},\n teacherInstructions: teacherInstructionsB = {},\n studentInstructions: studentInstructionsB = {},\n choicesLayout: choicesLayoutB = {},\n gridColumns: gridColumnsB = {},\n rationale: rationaleB = {},\n spellCheck: spellCheckB = {},\n } = partB || {};\n\n const type = partLabelType || 'Numbers';\n const typeIsNumber = type === 'Numbers';\n const firstPart = `Part ${typeIsNumber ? '1' : 'A'}`;\n const secondPart = `Part ${typeIsNumber ? '2' : 'B'}`;\n const nrOfColumnsAvailable = {\n partA:\n modelPartA.choices && modelPartA.choices.length\n ? Array.from({ length: modelPartA.choices.length }, (_, i) => `${i + 1}`)\n : [],\n partB:\n modelPartB.choices && modelPartB.choices.length\n ? Array.from({ length: modelPartB.choices.length }, (_, i) => `${i + 1}`)\n : [],\n };\n\n const panelSettings = {\n partLabels: generalConfiguration.partLabels.settings && toggle(generalConfiguration.partLabels.label),\n partLabelType: model.partLabels && dropdown('', ['Numbers', 'Letters']),\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n };\n\n const panelSettingsPartA = {\n 'partA.choiceMode': choiceModeA.settings && radio(choiceModeA.label, ['checkbox', 'radio']),\n 'partA.choicePrefix': choicePrefixA.settings && radio(choicePrefixA.label, ['numbers', 'letters']),\n 'partA.lockChoiceOrder': lockChoiceOrderA.settings && toggle(lockChoiceOrderA.label),\n 'partA.choicesLayout':\n choicesLayoutA.settings && dropdown(choicesLayoutA.label, ['vertical', 'grid', 'horizontal']),\n 'partA.gridColumns':\n choicesLayoutA.settings &&\n modelPartA.choicesLayout === 'grid' &&\n nrOfColumnsAvailable.partA.length > 0 &&\n dropdown(gridColumnsA.label, nrOfColumnsAvailable.partA),\n };\n const panelPropertiesPartA = {\n 'partA.feedbackEnabled': feedbackA.settings && toggle(feedbackA.label),\n 'partA.promptEnabled': promptA.settings && toggle(promptA.label),\n 'partA.teacherInstructionsEnabled': teacherInstructionsA.settings && toggle(teacherInstructionsA.label),\n 'partA.studentInstructionsEnabled': studentInstructionsA.settings && toggle(studentInstructionsA.label),\n 'partA.rationaleEnabled': rationaleA.settings && toggle(rationaleA.label),\n 'partA.spellCheckEnabled': spellCheckA.settings && toggle(spellCheckA.label),\n };\n\n const panelSettingsPartB = {\n 'partB.choiceMode': choiceModeB.settings && radio(choiceModeB.label, ['checkbox', 'radio']),\n 'partB.choicePrefix': choicePrefixB.settings && radio(choicePrefixB.label, ['numbers', 'letters']),\n 'partB.lockChoiceOrder': lockChoiceOrderB.settings && toggle(lockChoiceOrderB.label),\n 'partB.choicesLayout':\n choicesLayoutB.settings && dropdown(choicesLayoutB.label, ['vertical', 'grid', 'horizontal']),\n 'partB.gridColumns':\n choicesLayoutB.settings &&\n modelPartB.choicesLayout === 'grid' &&\n nrOfColumnsAvailable.partB.length > 0 &&\n dropdown(gridColumnsB.label, nrOfColumnsAvailable.partB),\n };\n const panelPropertiesPartB = {\n 'partB.feedbackEnabled': feedbackB.settings && toggle(feedbackB.label),\n 'partB.promptEnabled': promptB.settings && toggle(promptB.label),\n 'partB.teacherInstructionsEnabled': teacherInstructionsB.settings && toggle(teacherInstructionsB.label),\n 'partB.studentInstructionsEnabled': studentInstructionsB.settings && toggle(studentInstructionsB.label),\n 'partB.rationaleEnabled': rationaleB.settings && toggle(rationaleB.label),\n 'partB.spellCheckEnabled': spellCheckB.settings && toggle(spellCheckB.label),\n };\n\n return (\n <layout.ConfigLayout\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={this.onModelChanged}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n 'Settings for both': panelSettings,\n [`Settings ${firstPart}`]: panelSettingsPartA,\n [`Properties ${firstPart}`]: panelPropertiesPartA,\n [`Settings ${secondPart}`]: panelSettingsPartB,\n [`Properties ${secondPart}`]: panelPropertiesPartB,\n }}\n />\n }\n >\n <div>\n <div className={classes.part}>\n {model.partLabels && <div>{firstPart}</div>}\n <ebsr-multiple-choice-configure\n id=\"A\"\n key=\"partA\"\n ref={(ref) => {\n if (ref) {\n // do not use destructuring to get model from props\n this.partA = ref;\n this.partA._model = {\n ...this.props.model.partA,\n errors: (this.props.model.errors && this.props.model.errors.partA) || {},\n };\n this.partA.configuration = {\n ...partA,\n ...generalConfiguration,\n };\n }\n }}\n />\n </div>\n\n <div className={classes.part}>\n {model.partLabels && <div>{secondPart}</div>}\n <ebsr-multiple-choice-configure\n id=\"B\"\n key=\"partB\"\n ref={(ref) => {\n if (ref) {\n // do not use destructuring to get model from props\n this.partB = ref;\n this.partB._model = {\n ...this.props.model.partB,\n errors: (this.props.model.errors && this.props.model.errors.partB) || {},\n };\n this.partB.configuration = {\n ...partB,\n ...generalConfiguration,\n };\n }\n }}\n />\n </div>\n </div>\n </layout.ConfigLayout>\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAAsD,IAAAI,SAAA;AAAA,SAAAC,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,aAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,SAAAW,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAd,SAAA,EAAAiB,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAlB,KAAA,OAAAI,SAAA,gBAAAqB,2BAAA,mBAAAL,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAE,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAR,OAAA,CAAAC,SAAA,CAAAI,OAAA,8CAAAI,CAAA;AAEtD,IAAQC,KAAK,GAA8BC,kBAAQ,CAA3CD,KAAK;EAAEE,MAAM,GAAsBD,kBAAQ,CAApCC,MAAM;EAAEC,KAAK,GAAeF,kBAAQ,CAA5BE,KAAK;EAAEC,QAAQ,GAAKH,kBAAQ,CAArBG,QAAQ;AAEtC,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAIC,KAAK;EAAA,OAAM;IACzBC,IAAI,EAAE;MACJC,OAAO,EAAE,MAAM;MACfC,aAAa,EAAE,QAAQ;MACvB,qBAAqB,EAAE;QACrBC,UAAU,EAAEJ,KAAK,CAACK,OAAO,CAACC,IAAI,GAAG;MACnC;IACF;EACF,CAAC;AAAA,CAAC;AAAC,IAEUC,IAAI,0BAAAC,gBAAA;EAAA,IAAAC,UAAA,aAAAF,IAAA,EAAAC,gBAAA;EAAA,IAAAE,MAAA,GAAApC,YAAA,CAAAiC,IAAA;EAAA,SAAAA,KAAA;IAAA,IAAAI,KAAA;IAAA,IAAAC,gBAAA,mBAAAL,IAAA;IAAA,SAAAM,IAAA,GAAAhD,SAAA,CAAAC,MAAA,EAAAgD,IAAA,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAnD,SAAA,CAAAmD,IAAA;IAAA;IAAAL,KAAA,GAAAD,MAAA,CAAAlB,IAAA,CAAA/B,KAAA,CAAAiD,MAAA,SAAAO,MAAA,CAAAH,IAAA;IAAA,IAAA5C,gBAAA,iBAAAgD,uBAAA,aAAAP,KAAA,yBASM,UAACQ,OAAO,EAAK;MAChC,IAAIC,YAAY,GAAG,KAAK;MAExB,OAAO,CAACD,OAAO,IAAI,EAAE,EAAEE,GAAG,CAAC,UAACC,MAAM,EAAK;QACrC,IAAIF,YAAY,EAAE;UAChBE,MAAM,CAACC,OAAO,GAAG,KAAK;UAEtB,OAAOD,MAAM;QACf;QAEA,IAAIA,MAAM,CAACC,OAAO,EAAE;UAClBH,YAAY,GAAG,IAAI;QACrB;QAEA,OAAOE,MAAM;MACf,CAAC,CAAC;IACJ,CAAC;IAAA,IAAApD,gBAAA,iBAAAgD,uBAAA,aAAAP,KAAA,qBAEgB,UAACa,KAAK,EAAEvD,GAAG,EAAK;MAC/B,IAAQwD,cAAc,GAAKd,KAAA,CAAKe,KAAK,CAA7BD,cAAc;MAEtB,IAAIxD,GAAG,KAAK,kBAAkB,IAAIuD,KAAK,CAACG,KAAK,CAACC,UAAU,KAAK,OAAO,EAAE;QACpEJ,KAAK,CAACG,KAAK,CAACR,OAAO,GAAGR,KAAA,CAAKkB,kBAAkB,CAACL,KAAK,CAACG,KAAK,CAACR,OAAO,CAAC;QAElE,OAAOM,cAAc,CAACD,KAAK,EAAE,IAAI,CAAC;MACpC;MAEA,IAAIvD,GAAG,KAAK,kBAAkB,IAAIuD,KAAK,CAACM,KAAK,CAACF,UAAU,KAAK,OAAO,EAAE;QACpEJ,KAAK,CAACM,KAAK,CAACX,OAAO,GAAGR,KAAA,CAAKkB,kBAAkB,CAACL,KAAK,CAACM,KAAK,CAACX,OAAO,CAAC;QAElE,OAAOM,cAAc,CAACD,KAAK,EAAE,IAAI,CAAC;MACpC;MAEA,OAAOC,cAAc,CAACD,KAAK,CAAC;IAC9B,CAAC;IAAA,OAAAb,KAAA;EAAA;EAAA,IAAAoB,aAAA,aAAAxB,IAAA;IAAAtC,GAAA;IAAA+D,KAAA,EAED,SAAAC,OAAA,EAAS;MAAA,IAAAC,KAAA;QAAAC,MAAA;MACP,IAAAC,WAAA,GAAkE,IAAI,CAACV,KAAK;QAApEW,OAAO,GAAAD,WAAA,CAAPC,OAAO;QAAEb,KAAK,GAAAY,WAAA,CAALZ,KAAK;QAAEc,aAAa,GAAAF,WAAA,CAAbE,aAAa;QAAEC,sBAAsB,GAAAH,WAAA,CAAtBG,sBAAsB;MAC7D,IAAQC,aAAa,GAA2ChB,KAAK,CAA7DgB,aAAa;QAASC,UAAU,GAAwBjB,KAAK,CAA9CG,KAAK;QAAqBe,UAAU,GAAKlB,KAAK,CAA3BM,KAAK;MAC/C,IAAQH,KAAK,GAAyFW,aAAa,CAA3GX,KAAK;QAAEG,KAAK,GAAkFQ,aAAa,CAApGR,KAAK;QAAEa,cAAc,GAAkEL,aAAa,CAA7FK,cAAc;QAAEC,qBAAqB,GAA2CN,aAAa,CAA7EM,qBAAqB;QAAEC,WAAW,GAA8BP,aAAa,CAAtDO,WAAW;QAAKC,oBAAoB,OAAAC,yBAAA,aAAKT,aAAa,EAAA1F,SAAA;MACnH,IAAAoG,IAAA,GAYIrB,KAAK,IAAI,CAAC,CAAC;QAAAsB,aAAA,GAAAD,IAAA,CAXbE,QAAQ;QAAEC,SAAS,GAAAF,aAAA,cAAG,CAAC,CAAC,GAAAA,aAAA;QAAAG,eAAA,GAAAJ,IAAA,CACxBpB,UAAU;QAAEyB,WAAW,GAAAD,eAAA,cAAG,CAAC,CAAC,GAAAA,eAAA;QAAAE,iBAAA,GAAAN,IAAA,CAC5BO,YAAY;QAAEC,aAAa,GAAAF,iBAAA,cAAG,CAAC,CAAC,GAAAA,iBAAA;QAAAG,oBAAA,GAAAT,IAAA,CAChCU,eAAe;QAAEC,gBAAgB,GAAAF,oBAAA,cAAG,CAAC,CAAC,GAAAA,oBAAA;QAAAG,WAAA,GAAAZ,IAAA,CACtCa,MAAM;QAAEC,OAAO,GAAAF,WAAA,cAAG,CAAC,CAAC,GAAAA,WAAA;QAAAG,qBAAA,GAAAf,IAAA,CACpBgB,mBAAmB;QAAEC,oBAAoB,GAAAF,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA;QAAAG,qBAAA,GAAAlB,IAAA,CAC9CmB,mBAAmB;QAAEC,oBAAoB,GAAAF,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA;QAAAG,kBAAA,GAAArB,IAAA,CAC9CsB,aAAa;QAAEC,cAAc,GAAAF,kBAAA,cAAG,CAAC,CAAC,GAAAA,kBAAA;QAAAG,gBAAA,GAAAxB,IAAA,CAClCyB,WAAW;QAAEC,YAAY,GAAAF,gBAAA,cAAG,CAAC,CAAC,GAAAA,gBAAA;QAAAG,cAAA,GAAA3B,IAAA,CAC9B4B,SAAS;QAAEC,UAAU,GAAAF,cAAA,cAAG,CAAC,CAAC,GAAAA,cAAA;QAAAG,eAAA,GAAA9B,IAAA,CAC1B+B,UAAU;QAAEC,WAAW,GAAAF,eAAA,cAAG,CAAC,CAAC,GAAAA,eAAA;MAE9B,IAAAG,KAAA,GAYInD,KAAK,IAAI,CAAC,CAAC;QAAAoD,cAAA,GAAAD,KAAA,CAXb/B,QAAQ;QAAEiC,SAAS,GAAAD,cAAA,cAAG,CAAC,CAAC,GAAAA,cAAA;QAAAE,gBAAA,GAAAH,KAAA,CACxBrD,UAAU;QAAEyD,WAAW,GAAAD,gBAAA,cAAG,CAAC,CAAC,GAAAA,gBAAA;QAAAE,kBAAA,GAAAL,KAAA,CAC5B1B,YAAY;QAAEgC,aAAa,GAAAD,kBAAA,cAAG,CAAC,CAAC,GAAAA,kBAAA;QAAAE,qBAAA,GAAAP,KAAA,CAChCvB,eAAe;QAAE+B,gBAAgB,GAAAD,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA;QAAAE,YAAA,GAAAT,KAAA,CACtCpB,MAAM;QAAE8B,OAAO,GAAAD,YAAA,cAAG,CAAC,CAAC,GAAAA,YAAA;QAAAE,qBAAA,GAAAX,KAAA,CACpBjB,mBAAmB;QAAE6B,oBAAoB,GAAAD,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA;QAAAE,qBAAA,GAAAb,KAAA,CAC9Cd,mBAAmB;QAAE4B,oBAAoB,GAAAD,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA;QAAAE,mBAAA,GAAAf,KAAA,CAC9CX,aAAa;QAAE2B,cAAc,GAAAD,mBAAA,cAAG,CAAC,CAAC,GAAAA,mBAAA;QAAAE,iBAAA,GAAAjB,KAAA,CAClCR,WAAW;QAAE0B,YAAY,GAAAD,iBAAA,cAAG,CAAC,CAAC,GAAAA,iBAAA;QAAAE,eAAA,GAAAnB,KAAA,CAC9BL,SAAS;QAAEyB,UAAU,GAAAD,eAAA,cAAG,CAAC,CAAC,GAAAA,eAAA;QAAAE,gBAAA,GAAArB,KAAA,CAC1BF,UAAU;QAAEwB,WAAW,GAAAD,gBAAA,cAAG,CAAC,CAAC,GAAAA,gBAAA;MAG9B,IAAME,IAAI,GAAGhE,aAAa,IAAI,SAAS;MACvC,IAAMiE,YAAY,GAAGD,IAAI,KAAK,SAAS;MACvC,IAAME,SAAS,WAAAzF,MAAA,CAAWwF,YAAY,GAAG,GAAG,GAAG,GAAG,CAAE;MACpD,IAAME,UAAU,WAAA1F,MAAA,CAAWwF,YAAY,GAAG,GAAG,GAAG,GAAG,CAAE;MACrD,IAAMG,oBAAoB,GAAG;QAC3BjF,KAAK,EACHc,UAAU,CAACtB,OAAO,IAAIsB,UAAU,CAACtB,OAAO,CAACrD,MAAM,GAC3CiD,KAAK,CAAC8F,IAAI,CAAC;UAAE/I,MAAM,EAAE2E,UAAU,CAACtB,OAAO,CAACrD;QAAO,CAAC,EAAE,UAACgJ,CAAC,EAAElJ,CAAC;UAAA,UAAAqD,MAAA,CAAQrD,CAAC,GAAG,CAAC;QAAA,CAAE,CAAC,GACvE,EAAE;QACRkE,KAAK,EACHY,UAAU,CAACvB,OAAO,IAAIuB,UAAU,CAACvB,OAAO,CAACrD,MAAM,GAC3CiD,KAAK,CAAC8F,IAAI,CAAC;UAAE/I,MAAM,EAAE4E,UAAU,CAACvB,OAAO,CAACrD;QAAO,CAAC,EAAE,UAACgJ,CAAC,EAAElJ,CAAC;UAAA,UAAAqD,MAAA,CAAQrD,CAAC,GAAG,CAAC;QAAA,CAAE,CAAC,GACvE;MACR,CAAC;MAED,IAAMmJ,aAAa,GAAG;QACpBC,UAAU,EAAElE,oBAAoB,CAACkE,UAAU,CAACrH,QAAQ,IAAIC,MAAM,CAACkD,oBAAoB,CAACkE,UAAU,CAACC,KAAK,CAAC;QACrGzE,aAAa,EAAEhB,KAAK,CAACwF,UAAU,IAAIlH,QAAQ,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACvE6C,cAAc,EAAEA,cAAc,CAAChD,QAAQ,IAAIC,MAAM,CAAC+C,cAAc,CAACsE,KAAK,CAAC;QACvEpE,WAAW,EAAEA,WAAW,CAAClD,QAAQ,IAAIE,KAAK,CAACgD,WAAW,CAACoE,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;MAClF,CAAC;MAED,IAAMC,kBAAkB,GAAG;QACzB,kBAAkB,EAAE7D,WAAW,CAAC1D,QAAQ,IAAIE,KAAK,CAACwD,WAAW,CAAC4D,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3F,oBAAoB,EAAEzD,aAAa,CAAC7D,QAAQ,IAAIE,KAAK,CAAC2D,aAAa,CAACyD,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAClG,uBAAuB,EAAEtD,gBAAgB,CAAChE,QAAQ,IAAIC,MAAM,CAAC+D,gBAAgB,CAACsD,KAAK,CAAC;QACpF,qBAAqB,EACnB1C,cAAc,CAAC5E,QAAQ,IAAIG,QAAQ,CAACyE,cAAc,CAAC0C,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC/F,mBAAmB,EACjB1C,cAAc,CAAC5E,QAAQ,IACvB8C,UAAU,CAAC6B,aAAa,KAAK,MAAM,IACnCsC,oBAAoB,CAACjF,KAAK,CAAC7D,MAAM,GAAG,CAAC,IACrCgC,QAAQ,CAAC4E,YAAY,CAACuC,KAAK,EAAEL,oBAAoB,CAACjF,KAAK;MAC3D,CAAC;MACD,IAAMwF,oBAAoB,GAAG;QAC3B,uBAAuB,EAAEhE,SAAS,CAACxD,QAAQ,IAAIC,MAAM,CAACuD,SAAS,CAAC8D,KAAK,CAAC;QACtE,qBAAqB,EAAEnD,OAAO,CAACnE,QAAQ,IAAIC,MAAM,CAACkE,OAAO,CAACmD,KAAK,CAAC;QAChE,kCAAkC,EAAEhD,oBAAoB,CAACtE,QAAQ,IAAIC,MAAM,CAACqE,oBAAoB,CAACgD,KAAK,CAAC;QACvG,kCAAkC,EAAE7C,oBAAoB,CAACzE,QAAQ,IAAIC,MAAM,CAACwE,oBAAoB,CAAC6C,KAAK,CAAC;QACvG,wBAAwB,EAAEpC,UAAU,CAAClF,QAAQ,IAAIC,MAAM,CAACiF,UAAU,CAACoC,KAAK,CAAC;QACzE,yBAAyB,EAAEjC,WAAW,CAACrF,QAAQ,IAAIC,MAAM,CAACoF,WAAW,CAACiC,KAAK;MAC7E,CAAC;MAED,IAAMG,kBAAkB,GAAG;QACzB,kBAAkB,EAAE/B,WAAW,CAAC1F,QAAQ,IAAIE,KAAK,CAACwF,WAAW,CAAC4B,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3F,oBAAoB,EAAE1B,aAAa,CAAC5F,QAAQ,IAAIE,KAAK,CAAC0F,aAAa,CAAC0B,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAClG,uBAAuB,EAAExB,gBAAgB,CAAC9F,QAAQ,IAAIC,MAAM,CAAC6F,gBAAgB,CAACwB,KAAK,CAAC;QACpF,qBAAqB,EACnBhB,cAAc,CAACtG,QAAQ,IAAIG,QAAQ,CAACmG,cAAc,CAACgB,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC/F,mBAAmB,EACjBhB,cAAc,CAACtG,QAAQ,IACvB+C,UAAU,CAAC4B,aAAa,KAAK,MAAM,IACnCsC,oBAAoB,CAAC9E,KAAK,CAAChE,MAAM,GAAG,CAAC,IACrCgC,QAAQ,CAACqG,YAAY,CAACc,KAAK,EAAEL,oBAAoB,CAAC9E,KAAK;MAC3D,CAAC;MACD,IAAMuF,oBAAoB,GAAG;QAC3B,uBAAuB,EAAElC,SAAS,CAACxF,QAAQ,IAAIC,MAAM,CAACuF,SAAS,CAAC8B,KAAK,CAAC;QACtE,qBAAqB,EAAEtB,OAAO,CAAChG,QAAQ,IAAIC,MAAM,CAAC+F,OAAO,CAACsB,KAAK,CAAC;QAChE,kCAAkC,EAAEpB,oBAAoB,CAAClG,QAAQ,IAAIC,MAAM,CAACiG,oBAAoB,CAACoB,KAAK,CAAC;QACvG,kCAAkC,EAAElB,oBAAoB,CAACpG,QAAQ,IAAIC,MAAM,CAACmG,oBAAoB,CAACkB,KAAK,CAAC;QACvG,wBAAwB,EAAEZ,UAAU,CAAC1G,QAAQ,IAAIC,MAAM,CAACyG,UAAU,CAACY,KAAK,CAAC;QACzE,yBAAyB,EAAEV,WAAW,CAAC5G,QAAQ,IAAIC,MAAM,CAAC2G,WAAW,CAACU,KAAK;MAC7E,CAAC;MAED,oBACE3K,MAAA,YAAAgL,aAAA,CAAC5K,SAAA,CAAA6K,MAAM,CAACC,YAAY;QAClBC,YAAY,EAAE7E,qBAAsB;QACpCjD,QAAQ,eACNrD,MAAA,YAAAgL,aAAA,CAAC5H,KAAK;UACJ8B,KAAK,EAAEA,KAAM;UACbkG,aAAa,EAAE,IAAI,CAACjG,cAAe;UACnCa,aAAa,EAAEA,aAAc;UAC7BqF,qBAAqB,EAAEpF,sBAAuB;UAC9CqF,MAAM,GAAA1F,KAAA;YACJ,mBAAmB,EAAE6E;UAAa,OAAA7I,gBAAA,aAAAgE,KAAA,cAAAjB,MAAA,CACrByF,SAAS,GAAKQ,kBAAkB,OAAAhJ,gBAAA,aAAAgE,KAAA,gBAAAjB,MAAA,CAC9ByF,SAAS,GAAKS,oBAAoB,OAAAjJ,gBAAA,aAAAgE,KAAA,cAAAjB,MAAA,CACpC0F,UAAU,GAAKS,kBAAkB,OAAAlJ,gBAAA,aAAAgE,KAAA,gBAAAjB,MAAA,CAC/B0F,UAAU,GAAKU,oBAAoB,GAAAnF,KAAA;QAClD,CACH;MACF,gBAED5F,MAAA,YAAAgL,aAAA,2BACEhL,MAAA,YAAAgL,aAAA;QAAKO,SAAS,EAAExF,OAAO,CAACpC;MAAK,GAC1BuB,KAAK,CAACwF,UAAU,iBAAI1K,MAAA,YAAAgL,aAAA,cAAMZ,SAAe,CAAC,eAC3CpK,MAAA,YAAAgL,aAAA;QACEQ,EAAE,EAAC,GAAG;QACN7J,GAAG,EAAC,OAAO;QACX8J,GAAG,EAAE,SAAAA,IAACA,KAAG,EAAK;UACZ,IAAIA,KAAG,EAAE;YACP;YACA5F,MAAI,CAACR,KAAK,GAAGoG,KAAG;YAChB5F,MAAI,CAACR,KAAK,CAACqG,MAAM,GAAAtK,aAAA,CAAAA,aAAA,KACZyE,MAAI,CAACT,KAAK,CAACF,KAAK,CAACG,KAAK;cACzBsG,MAAM,EAAG9F,MAAI,CAACT,KAAK,CAACF,KAAK,CAACyG,MAAM,IAAI9F,MAAI,CAACT,KAAK,CAACF,KAAK,CAACyG,MAAM,CAACtG,KAAK,IAAK,CAAC;YAAC,EACzE;YACDQ,MAAI,CAACR,KAAK,CAACW,aAAa,GAAA5E,aAAA,CAAAA,aAAA,KACnBiE,KAAK,GACLmB,oBAAoB,CACxB;UACH;QACF;MAAE,CACH,CACE,CAAC,eAENxG,MAAA,YAAAgL,aAAA;QAAKO,SAAS,EAAExF,OAAO,CAACpC;MAAK,GAC1BuB,KAAK,CAACwF,UAAU,iBAAI1K,MAAA,YAAAgL,aAAA,cAAMX,UAAgB,CAAC,eAC5CrK,MAAA,YAAAgL,aAAA;QACEQ,EAAE,EAAC,GAAG;QACN7J,GAAG,EAAC,OAAO;QACX8J,GAAG,EAAE,SAAAA,IAACA,KAAG,EAAK;UACZ,IAAIA,KAAG,EAAE;YACP;YACA5F,MAAI,CAACL,KAAK,GAAGiG,KAAG;YAChB5F,MAAI,CAACL,KAAK,CAACkG,MAAM,GAAAtK,aAAA,CAAAA,aAAA,KACZyE,MAAI,CAACT,KAAK,CAACF,KAAK,CAACM,KAAK;cACzBmG,MAAM,EAAG9F,MAAI,CAACT,KAAK,CAACF,KAAK,CAACyG,MAAM,IAAI9F,MAAI,CAACT,KAAK,CAACF,KAAK,CAACyG,MAAM,CAACnG,KAAK,IAAK,CAAC;YAAC,EACzE;YACDK,MAAI,CAACL,KAAK,CAACQ,aAAa,GAAA5E,aAAA,CAAAA,aAAA,KACnBoE,KAAK,GACLgB,oBAAoB,CACxB;UACH;QACF;MAAE,CACH,CACE,CACF,CACc,CAAC;IAE1B;EAAC;EAAA,OAAAvC,IAAA;AAAA,EA9MuB2H,iBAAK,CAACC,SAAS;AAAAC,OAAA,CAAA7H,IAAA,GAAAA,IAAA;AAAA,IAAArC,gBAAA,aAA5BqC,IAAI,eACI;EACjB8B,OAAO,EAAEgG,qBAAS,CAACvL,MAAM;EACzBwF,aAAa,EAAE+F,qBAAS,CAACvL,MAAM;EAC/B0E,KAAK,EAAE6G,qBAAS,CAACvL,MAAM;EACvB2E,cAAc,EAAE4G,qBAAS,CAACC,IAAI;EAC9B/F,sBAAsB,EAAE8F,qBAAS,CAACC;AACpC,CAAC;AA0MH,IAAMC,MAAM,GAAG,IAAAC,kBAAU,EAACzI,MAAM,CAAC,CAACQ,IAAI,CAAC;AAAC,IAAAkI,QAAA,GAEzBF,MAAM;AAAAH,OAAA,cAAAK,QAAA"}
|