@pie-element/select-text 7.6.1-beta.1 → 7.6.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/defaultConfiguration.js +111 -0
- package/configure/lib/defaultConfiguration.js.map +1 -0
- package/configure/lib/design.js +422 -0
- package/configure/lib/design.js.map +1 -0
- package/configure/lib/index.js +124 -0
- package/configure/lib/index.js.map +1 -0
- package/configure/lib/utils.js +95 -0
- package/configure/lib/utils.js.map +1 -0
- package/configure/package.json +3 -3
- package/controller/lib/defaults.js +30 -0
- package/controller/lib/defaults.js.map +1 -0
- package/controller/lib/index.js +207 -0
- package/controller/lib/index.js.map +1 -0
- package/lib/index.js +120 -0
- package/lib/index.js.map +1 -0
- package/lib/main.js +217 -0
- package/lib/main.js.map +1 -0
- package/lib/print.js +99 -0
- package/lib/print.js.map +1 -0
- package/lib/utils.js +85 -0
- package/lib/utils.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var tokens = function tokens() {
|
|
8
|
+
return [{
|
|
9
|
+
text: '',
|
|
10
|
+
start: 0,
|
|
11
|
+
end: 0
|
|
12
|
+
}];
|
|
13
|
+
};
|
|
14
|
+
var _default = {
|
|
15
|
+
model: {
|
|
16
|
+
highlightChoices: false,
|
|
17
|
+
partialScoring: false,
|
|
18
|
+
maxSelections: 2,
|
|
19
|
+
mode: 'sentence',
|
|
20
|
+
prompt: 'Question Prompt goes here',
|
|
21
|
+
text: '',
|
|
22
|
+
tokens: tokens(),
|
|
23
|
+
scoringType: 'auto',
|
|
24
|
+
feedbackEnabled: true,
|
|
25
|
+
rationaleEnabled: true,
|
|
26
|
+
promptEnabled: true,
|
|
27
|
+
teacherInstructionsEnabled: true,
|
|
28
|
+
studentInstructionsEnabled: true,
|
|
29
|
+
toolbarEditorPosition: 'bottom'
|
|
30
|
+
},
|
|
31
|
+
configuration: {
|
|
32
|
+
selectionCount: {
|
|
33
|
+
settings: true,
|
|
34
|
+
label: 'Selection count'
|
|
35
|
+
},
|
|
36
|
+
correctAnswer: {
|
|
37
|
+
settings: true,
|
|
38
|
+
label: 'Correct Answers'
|
|
39
|
+
},
|
|
40
|
+
selections: {
|
|
41
|
+
settings: true,
|
|
42
|
+
label: 'Selections Available'
|
|
43
|
+
},
|
|
44
|
+
highlightChoices: {
|
|
45
|
+
settings: true,
|
|
46
|
+
label: 'Highlight choices'
|
|
47
|
+
},
|
|
48
|
+
rationale: {
|
|
49
|
+
settings: true,
|
|
50
|
+
label: 'Rationale'
|
|
51
|
+
},
|
|
52
|
+
scoringType: {
|
|
53
|
+
settings: false,
|
|
54
|
+
label: 'Scoring Type'
|
|
55
|
+
},
|
|
56
|
+
studentInstructions: {
|
|
57
|
+
settings: false,
|
|
58
|
+
label: 'Student Instructions'
|
|
59
|
+
},
|
|
60
|
+
teacherInstructions: {
|
|
61
|
+
settings: true,
|
|
62
|
+
label: 'Teacher Instructions'
|
|
63
|
+
},
|
|
64
|
+
prompt: {
|
|
65
|
+
label: 'Prompt',
|
|
66
|
+
settings: true
|
|
67
|
+
},
|
|
68
|
+
text: {
|
|
69
|
+
settings: true,
|
|
70
|
+
label: 'Content'
|
|
71
|
+
},
|
|
72
|
+
tokens: {
|
|
73
|
+
settings: true,
|
|
74
|
+
label: 'Tokens'
|
|
75
|
+
},
|
|
76
|
+
feedback: {
|
|
77
|
+
settings: true,
|
|
78
|
+
label: 'Feedback'
|
|
79
|
+
},
|
|
80
|
+
spellCheck: {
|
|
81
|
+
label: 'Spellcheck',
|
|
82
|
+
settings: false,
|
|
83
|
+
enabled: true
|
|
84
|
+
},
|
|
85
|
+
partialScoring: {
|
|
86
|
+
settings: false,
|
|
87
|
+
label: 'Allow Partial Scoring'
|
|
88
|
+
},
|
|
89
|
+
mode: {
|
|
90
|
+
settings: true,
|
|
91
|
+
label: 'Mode'
|
|
92
|
+
},
|
|
93
|
+
minTokens: 2,
|
|
94
|
+
maxImageWidth: {
|
|
95
|
+
teacherInstructions: 300,
|
|
96
|
+
prompt: 300,
|
|
97
|
+
rationale: 300
|
|
98
|
+
},
|
|
99
|
+
maxImageHeight: {
|
|
100
|
+
teacherInstructions: 300,
|
|
101
|
+
prompt: 300,
|
|
102
|
+
rationale: 300
|
|
103
|
+
},
|
|
104
|
+
withRubric: {
|
|
105
|
+
settings: false,
|
|
106
|
+
label: 'Add Rubric'
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
exports["default"] = _default;
|
|
111
|
+
//# sourceMappingURL=defaultConfiguration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultConfiguration.js","names":["tokens","text","start","end","_default","model","highlightChoices","partialScoring","maxSelections","mode","prompt","scoringType","feedbackEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","toolbarEditorPosition","configuration","selectionCount","settings","label","correctAnswer","selections","rationale","studentInstructions","teacherInstructions","feedback","spellCheck","enabled","minTokens","maxImageWidth","maxImageHeight","withRubric","exports"],"sources":["../src/defaultConfiguration.js"],"sourcesContent":["const tokens = () => [\n {\n text: '',\n start: 0,\n end: 0,\n },\n];\n\nexport default {\n model: {\n highlightChoices: false,\n partialScoring: false,\n maxSelections: 2,\n mode: 'sentence',\n prompt: 'Question Prompt goes here',\n text: '',\n tokens: tokens(),\n scoringType: 'auto',\n feedbackEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n },\n configuration: {\n selectionCount: {\n settings: true,\n label: 'Selection count',\n },\n correctAnswer: {\n settings: true,\n label: 'Correct Answers',\n },\n selections: {\n settings: true,\n label: 'Selections Available',\n },\n highlightChoices: {\n settings: true,\n label: 'Highlight choices',\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n studentInstructions: {\n settings: false,\n label: 'Student Instructions',\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n },\n prompt: {\n label: 'Prompt',\n settings: true,\n },\n text: {\n settings: true,\n label: 'Content',\n },\n tokens: {\n settings: true,\n label: 'Tokens',\n },\n feedback: {\n settings: true,\n label: 'Feedback',\n },\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring',\n },\n mode: {\n settings: true,\n label: 'Mode',\n },\n minTokens: 2,\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n },\n};\n"],"mappings":";;;;;;AAAA,IAAMA,MAAM,GAAG,SAATA,MAAMA,CAAA;EAAA,OAAS,CACnB;IACEC,IAAI,EAAE,EAAE;IACRC,KAAK,EAAE,CAAC;IACRC,GAAG,EAAE;EACP,CAAC,CACF;AAAA;AAAC,IAAAC,QAAA,GAEa;EACbC,KAAK,EAAE;IACLC,gBAAgB,EAAE,KAAK;IACvBC,cAAc,EAAE,KAAK;IACrBC,aAAa,EAAE,CAAC;IAChBC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE,2BAA2B;IACnCT,IAAI,EAAE,EAAE;IACRD,MAAM,EAAEA,MAAM,CAAC,CAAC;IAChBW,WAAW,EAAE,MAAM;IACnBC,eAAe,EAAE,IAAI;IACrBC,gBAAgB,EAAE,IAAI;IACtBC,aAAa,EAAE,IAAI;IACnBC,0BAA0B,EAAE,IAAI;IAChCC,0BAA0B,EAAE,IAAI;IAChCC,qBAAqB,EAAE;EACzB,CAAC;EACDC,aAAa,EAAE;IACbC,cAAc,EAAE;MACdC,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE;IACT,CAAC;IACDC,aAAa,EAAE;MACbF,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE;IACT,CAAC;IACDE,UAAU,EAAE;MACVH,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE;IACT,CAAC;IACDf,gBAAgB,EAAE;MAChBc,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE;IACT,CAAC;IACDG,SAAS,EAAE;MACTJ,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE;IACT,CAAC;IACDV,WAAW,EAAE;MACXS,QAAQ,EAAE,KAAK;MACfC,KAAK,EAAE;IACT,CAAC;IACDI,mBAAmB,EAAE;MACnBL,QAAQ,EAAE,KAAK;MACfC,KAAK,EAAE;IACT,CAAC;IACDK,mBAAmB,EAAE;MACnBN,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE;IACT,CAAC;IACDX,MAAM,EAAE;MACNW,KAAK,EAAE,QAAQ;MACfD,QAAQ,EAAE;IACZ,CAAC;IACDnB,IAAI,EAAE;MACJmB,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE;IACT,CAAC;IACDrB,MAAM,EAAE;MACNoB,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE;IACT,CAAC;IACDM,QAAQ,EAAE;MACRP,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE;IACT,CAAC;IACDO,UAAU,EAAE;MACVP,KAAK,EAAE,YAAY;MACnBD,QAAQ,EAAE,KAAK;MACfS,OAAO,EAAE;IACX,CAAC;IACDtB,cAAc,EAAE;MACda,QAAQ,EAAE,KAAK;MACfC,KAAK,EAAE;IACT,CAAC;IACDZ,IAAI,EAAE;MACJW,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE;IACT,CAAC;IACDS,SAAS,EAAE,CAAC;IACZC,aAAa,EAAE;MACbL,mBAAmB,EAAE,GAAG;MACxBhB,MAAM,EAAE,GAAG;MACXc,SAAS,EAAE;IACb,CAAC;IACDQ,cAAc,EAAE;MACdN,mBAAmB,EAAE,GAAG;MACxBhB,MAAM,EAAE,GAAG;MACXc,SAAS,EAAE;IACb,CAAC;IACDS,UAAU,EAAE;MACVb,QAAQ,EAAE,KAAK;MACfC,KAAK,EAAE;IACT;EACF;AACF,CAAC;AAAAa,OAAA,cAAA9B,QAAA"}
|
|
@@ -0,0 +1,422 @@
|
|
|
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.Design = void 0;
|
|
8
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
11
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
12
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
var _react = _interopRequireDefault(require("react"));
|
|
16
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
|
+
var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
|
|
18
|
+
var _styles = require("@material-ui/core/styles");
|
|
19
|
+
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
20
|
+
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
21
|
+
var _textSelect = require("@pie-lib/text-select");
|
|
22
|
+
var _configUi = require("@pie-lib/config-ui");
|
|
23
|
+
var _Chip = _interopRequireDefault(require("@material-ui/core/Chip"));
|
|
24
|
+
var _Info = _interopRequireDefault(require("@material-ui/icons/Info"));
|
|
25
|
+
var _debug = _interopRequireDefault(require("debug"));
|
|
26
|
+
var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
|
|
27
|
+
var _Tooltip = _interopRequireDefault(require("@material-ui/core/Tooltip"));
|
|
28
|
+
var _utils = require("./utils");
|
|
29
|
+
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; }
|
|
30
|
+
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; }
|
|
31
|
+
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); }; }
|
|
32
|
+
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; } }
|
|
33
|
+
var Panel = _configUi.settings.Panel,
|
|
34
|
+
toggle = _configUi.settings.toggle,
|
|
35
|
+
radio = _configUi.settings.radio;
|
|
36
|
+
var log = (0, _debug["default"])('@pie-element:select-text:configure');
|
|
37
|
+
var Design = /*#__PURE__*/function (_React$Component) {
|
|
38
|
+
(0, _inherits2["default"])(Design, _React$Component);
|
|
39
|
+
var _super = _createSuper(Design);
|
|
40
|
+
function Design(props) {
|
|
41
|
+
var _this;
|
|
42
|
+
(0, _classCallCheck2["default"])(this, Design);
|
|
43
|
+
_this = _super.call(this, props);
|
|
44
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateText", (0, _debounce["default"])(function (val) {
|
|
45
|
+
_this.apply(function (u) {
|
|
46
|
+
u.text = val;
|
|
47
|
+
u.tokens = [];
|
|
48
|
+
});
|
|
49
|
+
}, 200));
|
|
50
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeText", function (event) {
|
|
51
|
+
return _this.updateText(event.target.value);
|
|
52
|
+
});
|
|
53
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeTokens", function (tokens, mode) {
|
|
54
|
+
_this.apply(function (u) {
|
|
55
|
+
u.tokens = tokens;
|
|
56
|
+
u.mode = mode;
|
|
57
|
+
var correctTokenCount = tokens.filter(function (t) {
|
|
58
|
+
return t.correct;
|
|
59
|
+
}).length;
|
|
60
|
+
var max = isFinite(u.maxSelections) ? u.maxSelections : 0;
|
|
61
|
+
u.maxSelections = Math.max(max, correctTokenCount);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeMaxSelections", function (event, max) {
|
|
65
|
+
_this.apply(function (u) {
|
|
66
|
+
return u.maxSelections = max;
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "apply", function (fn) {
|
|
70
|
+
var _this$props = _this.props,
|
|
71
|
+
onModelChanged = _this$props.onModelChanged,
|
|
72
|
+
model = _this$props.model;
|
|
73
|
+
var update = (0, _cloneDeep["default"])(model);
|
|
74
|
+
fn(update);
|
|
75
|
+
onModelChanged(update);
|
|
76
|
+
});
|
|
77
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeFeedback", function (feedback) {
|
|
78
|
+
_this.apply(function (u) {
|
|
79
|
+
return u.feedback = feedback;
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changePartialScoring", function (partialScoring) {
|
|
83
|
+
var _this$props2 = _this.props,
|
|
84
|
+
onModelChanged = _this$props2.onModelChanged,
|
|
85
|
+
model = _this$props2.model;
|
|
86
|
+
var update = (0, _cloneDeep["default"])(model);
|
|
87
|
+
update.partialScoring = partialScoring;
|
|
88
|
+
onModelChanged(update);
|
|
89
|
+
});
|
|
90
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onPromptChanged", function (prompt) {
|
|
91
|
+
var _this$props3 = _this.props,
|
|
92
|
+
onModelChanged = _this$props3.onModelChanged,
|
|
93
|
+
model = _this$props3.model;
|
|
94
|
+
var update = (0, _cloneDeep["default"])(model);
|
|
95
|
+
update.prompt = prompt;
|
|
96
|
+
onModelChanged(update);
|
|
97
|
+
});
|
|
98
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTeacherInstructionsChanged", function (teacherInstructions) {
|
|
99
|
+
var _this$props4 = _this.props,
|
|
100
|
+
onModelChanged = _this$props4.onModelChanged,
|
|
101
|
+
model = _this$props4.model;
|
|
102
|
+
var update = (0, _cloneDeep["default"])(model);
|
|
103
|
+
update.teacherInstructions = teacherInstructions;
|
|
104
|
+
onModelChanged(update);
|
|
105
|
+
});
|
|
106
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onRationaleChanged", function (rationale) {
|
|
107
|
+
var _this$props5 = _this.props,
|
|
108
|
+
onModelChanged = _this$props5.onModelChanged,
|
|
109
|
+
model = _this$props5.model;
|
|
110
|
+
onModelChanged(_objectSpread(_objectSpread({}, model), {}, {
|
|
111
|
+
rationale: rationale
|
|
112
|
+
}));
|
|
113
|
+
});
|
|
114
|
+
var _model = _this.props.model;
|
|
115
|
+
_this.state = {
|
|
116
|
+
text: _model && _model.text || ''
|
|
117
|
+
};
|
|
118
|
+
return _this;
|
|
119
|
+
}
|
|
120
|
+
(0, _createClass2["default"])(Design, [{
|
|
121
|
+
key: "UNSAFE_componentWillReceiveProps",
|
|
122
|
+
value: function UNSAFE_componentWillReceiveProps(nProps) {
|
|
123
|
+
var model = nProps.model;
|
|
124
|
+
if (model && model.text) {
|
|
125
|
+
this.setState({
|
|
126
|
+
text: model.text
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}, {
|
|
131
|
+
key: "render",
|
|
132
|
+
value: function render() {
|
|
133
|
+
var textValue = this.state.text;
|
|
134
|
+
var _this$props6 = this.props,
|
|
135
|
+
classes = _this$props6.classes,
|
|
136
|
+
configuration = _this$props6.configuration,
|
|
137
|
+
imageSupport = _this$props6.imageSupport,
|
|
138
|
+
model = _this$props6.model,
|
|
139
|
+
onConfigurationChanged = _this$props6.onConfigurationChanged,
|
|
140
|
+
onModelChanged = _this$props6.onModelChanged,
|
|
141
|
+
uploadSoundSupport = _this$props6.uploadSoundSupport;
|
|
142
|
+
var _ref = configuration || {},
|
|
143
|
+
_ref$correctAnswer = _ref.correctAnswer,
|
|
144
|
+
correctAnswer = _ref$correctAnswer === void 0 ? {} : _ref$correctAnswer,
|
|
145
|
+
_ref$feedback = _ref.feedback,
|
|
146
|
+
feedback = _ref$feedback === void 0 ? {} : _ref$feedback,
|
|
147
|
+
_ref$highlightChoices = _ref.highlightChoices,
|
|
148
|
+
highlightChoices = _ref$highlightChoices === void 0 ? {} : _ref$highlightChoices,
|
|
149
|
+
_ref$mode = _ref.mode,
|
|
150
|
+
mode = _ref$mode === void 0 ? {} : _ref$mode,
|
|
151
|
+
_ref$partialScoring = _ref.partialScoring,
|
|
152
|
+
partialScoring = _ref$partialScoring === void 0 ? {} : _ref$partialScoring,
|
|
153
|
+
_ref$prompt = _ref.prompt,
|
|
154
|
+
prompt = _ref$prompt === void 0 ? {} : _ref$prompt,
|
|
155
|
+
_ref$rationale = _ref.rationale,
|
|
156
|
+
rationale = _ref$rationale === void 0 ? {} : _ref$rationale,
|
|
157
|
+
_ref$selectionCount = _ref.selectionCount,
|
|
158
|
+
selectionCount = _ref$selectionCount === void 0 ? {} : _ref$selectionCount,
|
|
159
|
+
_ref$selections = _ref.selections,
|
|
160
|
+
selections = _ref$selections === void 0 ? {} : _ref$selections,
|
|
161
|
+
settingsPanelDisabled = _ref.settingsPanelDisabled,
|
|
162
|
+
_ref$scoringType = _ref.scoringType,
|
|
163
|
+
scoringType = _ref$scoringType === void 0 ? {} : _ref$scoringType,
|
|
164
|
+
_ref$spellCheck = _ref.spellCheck,
|
|
165
|
+
spellCheck = _ref$spellCheck === void 0 ? {} : _ref$spellCheck,
|
|
166
|
+
_ref$studentInstructi = _ref.studentInstructions,
|
|
167
|
+
studentInstructions = _ref$studentInstructi === void 0 ? {} : _ref$studentInstructi,
|
|
168
|
+
_ref$teacherInstructi = _ref.teacherInstructions,
|
|
169
|
+
teacherInstructions = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi,
|
|
170
|
+
_ref$text = _ref.text,
|
|
171
|
+
text = _ref$text === void 0 ? {} : _ref$text,
|
|
172
|
+
_ref$tokens = _ref.tokens,
|
|
173
|
+
tokens = _ref$tokens === void 0 ? {} : _ref$tokens,
|
|
174
|
+
_ref$maxImageWidth = _ref.maxImageWidth,
|
|
175
|
+
maxImageWidth = _ref$maxImageWidth === void 0 ? {} : _ref$maxImageWidth,
|
|
176
|
+
_ref$maxImageHeight = _ref.maxImageHeight,
|
|
177
|
+
maxImageHeight = _ref$maxImageHeight === void 0 ? {} : _ref$maxImageHeight,
|
|
178
|
+
_ref$withRubric = _ref.withRubric,
|
|
179
|
+
withRubric = _ref$withRubric === void 0 ? {} : _ref$withRubric;
|
|
180
|
+
var _ref2 = model || {},
|
|
181
|
+
errors = _ref2.errors,
|
|
182
|
+
feedbackEnabled = _ref2.feedbackEnabled,
|
|
183
|
+
promptEnabled = _ref2.promptEnabled,
|
|
184
|
+
rationaleEnabled = _ref2.rationaleEnabled,
|
|
185
|
+
spellCheckEnabled = _ref2.spellCheckEnabled,
|
|
186
|
+
teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled,
|
|
187
|
+
toolbarEditorPosition = _ref2.toolbarEditorPosition;
|
|
188
|
+
var _ref3 = errors || {},
|
|
189
|
+
tokensError = _ref3.tokensError,
|
|
190
|
+
selectionsError = _ref3.selectionsError;
|
|
191
|
+
var validationMessage = (0, _utils.generateValidationMessage)(configuration);
|
|
192
|
+
var defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
|
|
193
|
+
var defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
|
|
194
|
+
var tokensModel = model.tokens;
|
|
195
|
+
tokensModel = tokensModel || [];
|
|
196
|
+
var toolbarOpts = {
|
|
197
|
+
position: toolbarEditorPosition === 'top' ? 'top' : 'bottom'
|
|
198
|
+
};
|
|
199
|
+
log('[render] maxSelections:', model.maxSelections);
|
|
200
|
+
var panelSettings = {
|
|
201
|
+
partialScoring: partialScoring.settings && toggle(partialScoring.label),
|
|
202
|
+
highlightChoices: highlightChoices.settings && toggle(highlightChoices.label),
|
|
203
|
+
feedbackEnabled: feedback.settings && toggle(feedback.label)
|
|
204
|
+
};
|
|
205
|
+
var panelProperties = {
|
|
206
|
+
teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
|
|
207
|
+
studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),
|
|
208
|
+
promptEnabled: prompt.settings && toggle(prompt.label),
|
|
209
|
+
rationaleEnabled: rationale.settings && toggle(rationale.label),
|
|
210
|
+
spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
|
|
211
|
+
scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),
|
|
212
|
+
rubricEnabled: (withRubric === null || withRubric === void 0 ? void 0 : withRubric.settings) && toggle(withRubric === null || withRubric === void 0 ? void 0 : withRubric.label)
|
|
213
|
+
};
|
|
214
|
+
return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
|
|
215
|
+
hideSettings: settingsPanelDisabled,
|
|
216
|
+
settings: /*#__PURE__*/_react["default"].createElement(Panel, {
|
|
217
|
+
model: model,
|
|
218
|
+
configuration: configuration,
|
|
219
|
+
onChangeModel: function onChangeModel(model) {
|
|
220
|
+
return onModelChanged(model);
|
|
221
|
+
},
|
|
222
|
+
onChangeConfiguration: onConfigurationChanged,
|
|
223
|
+
groups: {
|
|
224
|
+
Settings: panelSettings,
|
|
225
|
+
Properties: panelProperties
|
|
226
|
+
}
|
|
227
|
+
})
|
|
228
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
229
|
+
className: classes.container
|
|
230
|
+
}, teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
231
|
+
label: teacherInstructions.label,
|
|
232
|
+
className: classes.promptHolder
|
|
233
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
234
|
+
className: classes.prompt,
|
|
235
|
+
markup: model.teacherInstructions || '',
|
|
236
|
+
onChange: this.onTeacherInstructionsChanged,
|
|
237
|
+
imageSupport: imageSupport,
|
|
238
|
+
nonEmpty: false,
|
|
239
|
+
toolbarOpts: toolbarOpts,
|
|
240
|
+
spellCheck: spellCheckEnabled,
|
|
241
|
+
maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
|
|
242
|
+
maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
|
|
243
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
244
|
+
languageCharactersProps: [{
|
|
245
|
+
language: 'spanish'
|
|
246
|
+
}, {
|
|
247
|
+
language: 'special'
|
|
248
|
+
}]
|
|
249
|
+
})), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
250
|
+
label: prompt.label || '',
|
|
251
|
+
className: classes.promptHolder
|
|
252
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
253
|
+
className: classes.prompt,
|
|
254
|
+
markup: model.prompt,
|
|
255
|
+
onChange: this.onPromptChanged,
|
|
256
|
+
imageSupport: imageSupport,
|
|
257
|
+
toolbarOpts: toolbarOpts,
|
|
258
|
+
spellCheck: spellCheckEnabled,
|
|
259
|
+
maxImageWidth: defaultImageMaxWidth,
|
|
260
|
+
maxImageHeight: defaultImageMaxHeight,
|
|
261
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
262
|
+
languageCharactersProps: [{
|
|
263
|
+
language: 'spanish'
|
|
264
|
+
}, {
|
|
265
|
+
language: 'special'
|
|
266
|
+
}]
|
|
267
|
+
})), rationaleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
268
|
+
label: rationale.label || '',
|
|
269
|
+
className: classes.promptHolder
|
|
270
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
271
|
+
className: classes.prompt,
|
|
272
|
+
markup: model.rationale || '',
|
|
273
|
+
onChange: this.onRationaleChanged,
|
|
274
|
+
imageSupport: imageSupport,
|
|
275
|
+
toolbarOpts: toolbarOpts,
|
|
276
|
+
spellCheck: spellCheckEnabled,
|
|
277
|
+
maxImageWidth: maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth,
|
|
278
|
+
maxImageHeight: maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight,
|
|
279
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
280
|
+
languageCharactersProps: [{
|
|
281
|
+
language: 'spanish'
|
|
282
|
+
}, {
|
|
283
|
+
language: 'special'
|
|
284
|
+
}]
|
|
285
|
+
})), text.settings && /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
|
|
286
|
+
label: text.label,
|
|
287
|
+
className: classes.input,
|
|
288
|
+
multiline: true,
|
|
289
|
+
defaultValue: textValue,
|
|
290
|
+
onChange: this.changeText,
|
|
291
|
+
spellCheck: spellCheckEnabled
|
|
292
|
+
}), tokens.settings && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
293
|
+
label: tokens.label || '',
|
|
294
|
+
className: classes.tokenizerContainer
|
|
295
|
+
}, /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
296
|
+
classes: {
|
|
297
|
+
tooltip: classes.tooltip
|
|
298
|
+
},
|
|
299
|
+
disableFocusListener: true,
|
|
300
|
+
disableTouchListener: true,
|
|
301
|
+
placement: 'right',
|
|
302
|
+
title: validationMessage
|
|
303
|
+
}, /*#__PURE__*/_react["default"].createElement(_Info["default"], {
|
|
304
|
+
fontSize: 'small',
|
|
305
|
+
color: 'primary',
|
|
306
|
+
style: {
|
|
307
|
+
position: 'absolute',
|
|
308
|
+
left: '48px',
|
|
309
|
+
top: '-3px'
|
|
310
|
+
}
|
|
311
|
+
})), /*#__PURE__*/_react["default"].createElement(_textSelect.Tokenizer, {
|
|
312
|
+
className: classes.tokenizer,
|
|
313
|
+
text: model.text,
|
|
314
|
+
tokens: tokensModel,
|
|
315
|
+
onChange: this.changeTokens
|
|
316
|
+
})), tokensError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
317
|
+
className: classes.errorText
|
|
318
|
+
}, tokensError), selectionsError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
319
|
+
className: classes.errorText
|
|
320
|
+
}, selectionsError), mode.settings && /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
|
|
321
|
+
label: "".concat(mode.label, ": ").concat(model.mode ? model.mode : 'None'),
|
|
322
|
+
className: classes.chip
|
|
323
|
+
}), selections.settings && /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
|
|
324
|
+
label: "".concat(selections.label, ": ").concat(tokensModel.length),
|
|
325
|
+
className: classes.chip
|
|
326
|
+
}), correctAnswer.settings && /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
|
|
327
|
+
label: "".concat(correctAnswer.label, ": ").concat(tokensModel.filter(function (t) {
|
|
328
|
+
return t.correct;
|
|
329
|
+
}).length),
|
|
330
|
+
className: classes.chip
|
|
331
|
+
}), selectionCount.settings && /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextField, {
|
|
332
|
+
min: tokensModel.filter(function (t) {
|
|
333
|
+
return t.correct;
|
|
334
|
+
}).length || 0,
|
|
335
|
+
label: "".concat(selectionCount.label, " (0:any)"),
|
|
336
|
+
max: tokensModel.length,
|
|
337
|
+
value: model.maxSelections,
|
|
338
|
+
onChange: this.changeMaxSelections,
|
|
339
|
+
className: classes.numberField
|
|
340
|
+
}), feedbackEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.FeedbackConfig, {
|
|
341
|
+
feedback: model.feedback,
|
|
342
|
+
onChange: this.changeFeedback,
|
|
343
|
+
toolbarOpts: toolbarOpts
|
|
344
|
+
})));
|
|
345
|
+
}
|
|
346
|
+
}]);
|
|
347
|
+
return Design;
|
|
348
|
+
}(_react["default"].Component);
|
|
349
|
+
exports.Design = Design;
|
|
350
|
+
(0, _defineProperty2["default"])(Design, "propTypes", {
|
|
351
|
+
model: _propTypes["default"].object.isRequired,
|
|
352
|
+
configuration: _propTypes["default"].object.isRequired,
|
|
353
|
+
classes: _propTypes["default"].object.isRequired,
|
|
354
|
+
onModelChanged: _propTypes["default"].func.isRequired,
|
|
355
|
+
onConfigurationChanged: _propTypes["default"].func.isRequired,
|
|
356
|
+
imageSupport: _propTypes["default"].shape({
|
|
357
|
+
add: _propTypes["default"].func.isRequired,
|
|
358
|
+
"delete": _propTypes["default"].func.isRequired
|
|
359
|
+
})
|
|
360
|
+
});
|
|
361
|
+
(0, _defineProperty2["default"])(Design, "defaultProps", {});
|
|
362
|
+
var _default = (0, _styles.withStyles)(function (theme) {
|
|
363
|
+
return {
|
|
364
|
+
container: {
|
|
365
|
+
paddingTop: theme.spacing.unit
|
|
366
|
+
},
|
|
367
|
+
tokenizerContainer: {
|
|
368
|
+
paddingRight: 0,
|
|
369
|
+
marginRight: 0,
|
|
370
|
+
'&:after': {
|
|
371
|
+
position: 'absolute',
|
|
372
|
+
bottom: 0,
|
|
373
|
+
left: 0,
|
|
374
|
+
right: 0,
|
|
375
|
+
height: '1px',
|
|
376
|
+
content: '""',
|
|
377
|
+
backgroundColor: theme.palette.primary.main
|
|
378
|
+
},
|
|
379
|
+
marginBottom: theme.spacing.unit
|
|
380
|
+
},
|
|
381
|
+
chip: {
|
|
382
|
+
marginRight: theme.spacing.unit * 2
|
|
383
|
+
},
|
|
384
|
+
input: {
|
|
385
|
+
width: '100%',
|
|
386
|
+
paddingBottom: theme.spacing.unit * 3
|
|
387
|
+
},
|
|
388
|
+
tokenizer: {
|
|
389
|
+
marginTop: theme.spacing.unit * 2
|
|
390
|
+
},
|
|
391
|
+
mainOpts: {
|
|
392
|
+
width: '100%',
|
|
393
|
+
justifyContent: 'space-between',
|
|
394
|
+
display: 'flex',
|
|
395
|
+
alignItems: 'baseline'
|
|
396
|
+
},
|
|
397
|
+
promptHolder: {
|
|
398
|
+
width: '100%',
|
|
399
|
+
paddingBottom: theme.spacing.unit * 2,
|
|
400
|
+
marginBottom: theme.spacing.unit * 2
|
|
401
|
+
},
|
|
402
|
+
prompt: {
|
|
403
|
+
paddingTop: theme.spacing.unit * 2,
|
|
404
|
+
width: '100%'
|
|
405
|
+
},
|
|
406
|
+
numberField: {
|
|
407
|
+
width: '180px'
|
|
408
|
+
},
|
|
409
|
+
tooltip: {
|
|
410
|
+
fontSize: theme.typography.fontSize - 2,
|
|
411
|
+
whiteSpace: 'pre',
|
|
412
|
+
maxWidth: '500px'
|
|
413
|
+
},
|
|
414
|
+
errorText: {
|
|
415
|
+
fontSize: theme.typography.fontSize - 2,
|
|
416
|
+
color: 'red',
|
|
417
|
+
paddingBottom: theme.spacing.unit
|
|
418
|
+
}
|
|
419
|
+
};
|
|
420
|
+
})(Design);
|
|
421
|
+
exports["default"] = _default;
|
|
422
|
+
//# sourceMappingURL=design.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"design.js","names":["_react","_interopRequireDefault","require","_propTypes","_TextField","_styles","_cloneDeep","_debounce","_textSelect","_configUi","_Chip","_Info","_debug","_editableHtml","_Tooltip","_utils","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","log","debug","Design","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","_assertThisInitialized2","debounce","val","u","text","tokens","event","updateText","value","mode","correctTokenCount","t","correct","max","isFinite","maxSelections","Math","fn","_this$props","onModelChanged","model","update","cloneDeep","feedback","partialScoring","_this$props2","prompt","_this$props3","teacherInstructions","_this$props4","rationale","_this$props5","state","_createClass2","UNSAFE_componentWillReceiveProps","nProps","setState","render","textValue","_this$props6","classes","configuration","imageSupport","onConfigurationChanged","uploadSoundSupport","_ref","_ref$correctAnswer","correctAnswer","_ref$feedback","_ref$highlightChoices","highlightChoices","_ref$mode","_ref$partialScoring","_ref$prompt","_ref$rationale","_ref$selectionCount","selectionCount","_ref$selections","selections","settingsPanelDisabled","_ref$scoringType","scoringType","_ref$spellCheck","spellCheck","_ref$studentInstructi","studentInstructions","_ref$teacherInstructi","_ref$text","_ref$tokens","_ref$maxImageWidth","maxImageWidth","_ref$maxImageHeight","maxImageHeight","_ref$withRubric","withRubric","_ref2","errors","feedbackEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","_ref3","tokensError","selectionsError","validationMessage","generateValidationMessage","defaultImageMaxWidth","defaultImageMaxHeight","tokensModel","toolbarOpts","position","panelSettings","label","panelProperties","studentInstructionsEnabled","rubricEnabled","createElement","layout","ConfigLayout","hideSettings","onChangeModel","onChangeConfiguration","groups","Settings","Properties","className","container","InputContainer","promptHolder","markup","onChange","onTeacherInstructionsChanged","nonEmpty","languageCharactersProps","language","onPromptChanged","onRationaleChanged","input","multiline","defaultValue","changeText","tokenizerContainer","tooltip","disableFocusListener","disableTouchListener","placement","title","fontSize","color","style","left","top","Tokenizer","tokenizer","changeTokens","errorText","concat","chip","NumberTextField","min","changeMaxSelections","numberField","FeedbackConfig","changeFeedback","React","Component","exports","PropTypes","isRequired","func","shape","add","_default","withStyles","theme","paddingTop","spacing","unit","paddingRight","marginRight","bottom","right","height","content","backgroundColor","palette","primary","main","marginBottom","width","paddingBottom","marginTop","mainOpts","justifyContent","display","alignItems","typography","whiteSpace","maxWidth"],"sources":["../src/design.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport TextField from '@material-ui/core/TextField';\nimport { withStyles } from '@material-ui/core/styles';\nimport cloneDeep from 'lodash/cloneDeep';\nimport debounce from 'lodash/debounce';\nimport { Tokenizer } from '@pie-lib/text-select';\nimport { InputContainer, NumberTextField, FeedbackConfig, settings, layout } from '@pie-lib/config-ui';\nimport Chip from '@material-ui/core/Chip';\nimport Info from '@material-ui/icons/Info';\nimport debug from 'debug';\nimport EditableHtml from '@pie-lib/editable-html';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { generateValidationMessage } from './utils';\n\nconst { Panel, toggle, radio } = settings;\n\nconst log = debug('@pie-element:select-text:configure');\n\nexport class Design extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n\n const { model } = this.props;\n\n this.state = {\n text: (model && model.text) || '',\n };\n }\n\n UNSAFE_componentWillReceiveProps(nProps) {\n const { model } = nProps;\n\n if (model && model.text) {\n this.setState({\n text: model.text,\n });\n }\n }\n\n updateText = debounce((val) => {\n this.apply((u) => {\n u.text = val;\n u.tokens = [];\n });\n }, 200);\n\n changeText = (event) => this.updateText(event.target.value);\n\n changeTokens = (tokens, mode) => {\n this.apply((u) => {\n u.tokens = tokens;\n u.mode = mode;\n\n const correctTokenCount = tokens.filter((t) => t.correct).length;\n const max = isFinite(u.maxSelections) ? u.maxSelections : 0;\n\n u.maxSelections = Math.max(max, correctTokenCount);\n });\n };\n\n changeMaxSelections = (event, max) => {\n this.apply((u) => (u.maxSelections = max));\n };\n\n apply = (fn) => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n\n fn(update);\n onModelChanged(update);\n };\n\n changeFeedback = (feedback) => {\n this.apply((u) => (u.feedback = feedback));\n };\n\n changePartialScoring = (partialScoring) => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n update.partialScoring = partialScoring;\n\n onModelChanged(update);\n };\n\n onPromptChanged = (prompt) => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n\n update.prompt = prompt;\n onModelChanged(update);\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n\n update.teacherInstructions = teacherInstructions;\n onModelChanged(update);\n };\n\n onRationaleChanged = (rationale) => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({ ...model, rationale });\n };\n\n render() {\n const { text: textValue } = this.state;\n const { classes, configuration, imageSupport, model, onConfigurationChanged, onModelChanged, uploadSoundSupport } =\n this.props;\n const {\n correctAnswer = {},\n feedback = {},\n highlightChoices = {},\n mode = {},\n partialScoring = {},\n prompt = {},\n rationale = {},\n selectionCount = {},\n selections = {},\n settingsPanelDisabled,\n scoringType = {},\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n text = {},\n tokens = {},\n maxImageWidth = {},\n maxImageHeight = {},\n withRubric = {},\n } = configuration || {};\n const {\n errors,\n feedbackEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n\n const { tokensError, selectionsError } = errors || {};\n const validationMessage = generateValidationMessage(configuration);\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n let { tokens: tokensModel } = model;\n tokensModel = tokensModel || [];\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n log('[render] maxSelections:', model.maxSelections);\n\n const panelSettings = {\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n highlightChoices: highlightChoices.settings && toggle(highlightChoices.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n return (\n <layout.ConfigLayout\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n <div className={classes.container}>\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label || ''} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label || ''} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {text.settings && (\n <TextField\n label={text.label}\n className={classes.input}\n multiline\n defaultValue={textValue}\n onChange={this.changeText}\n spellCheck={spellCheckEnabled}\n />\n )}\n\n {tokens.settings && (\n <InputContainer label={tokens.label || ''} className={classes.tokenizerContainer}>\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info\n fontSize={'small'}\n color={'primary'}\n style={{ position: 'absolute', left: '48px', top: '-3px' }}\n />\n </Tooltip>\n\n <Tokenizer\n className={classes.tokenizer}\n text={model.text}\n tokens={tokensModel}\n onChange={this.changeTokens}\n />\n </InputContainer>\n )}\n\n {tokensError && <div className={classes.errorText}>{tokensError}</div>}\n {selectionsError && <div className={classes.errorText}>{selectionsError}</div>}\n\n {mode.settings && (\n <Chip label={`${mode.label}: ${model.mode ? model.mode : 'None'}`} className={classes.chip} />\n )}\n\n {selections.settings && (\n <Chip label={`${selections.label}: ${tokensModel.length}`} className={classes.chip} />\n )}\n\n {correctAnswer.settings && (\n <Chip\n label={`${correctAnswer.label}: ${tokensModel.filter((t) => t.correct).length}`}\n className={classes.chip}\n />\n )}\n\n {selectionCount.settings && (\n <NumberTextField\n min={tokensModel.filter((t) => t.correct).length || 0}\n label={`${selectionCount.label} (0:any)`}\n max={tokensModel.length}\n value={model.maxSelections}\n onChange={this.changeMaxSelections}\n className={classes.numberField}\n />\n )}\n\n {feedbackEnabled && (\n <FeedbackConfig feedback={model.feedback} onChange={this.changeFeedback} toolbarOpts={toolbarOpts} />\n )}\n </div>\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles((theme) => ({\n container: {\n paddingTop: theme.spacing.unit,\n },\n tokenizerContainer: {\n paddingRight: 0,\n marginRight: 0,\n '&:after': {\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n height: '1px',\n content: '\"\"',\n backgroundColor: theme.palette.primary.main,\n },\n marginBottom: theme.spacing.unit,\n },\n chip: {\n marginRight: theme.spacing.unit * 2,\n },\n input: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 3,\n },\n tokenizer: {\n marginTop: theme.spacing.unit * 2,\n },\n mainOpts: {\n width: '100%',\n justifyContent: 'space-between',\n display: 'flex',\n alignItems: 'baseline',\n },\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n },\n numberField: {\n width: '180px',\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: 'red',\n paddingBottom: theme.spacing.unit,\n },\n}))(Design);\n"],"mappings":"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"}
|