@pie-element/select-text 9.5.11-next.12 → 9.5.11-next.19
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 +12 -1
- package/configure/lib/defaultConfiguration.js.map +1 -1
- package/configure/lib/design.js +406 -62
- package/configure/lib/design.js.map +1 -1
- package/configure/lib/utils.js +27 -3
- package/configure/lib/utils.js.map +1 -1
- package/configure/package.json +1 -1
- package/controller/package.json +1 -1
- package/docs/demo/generate.js +104 -48
- package/module/configure.js +2178 -6601
- package/module/demo.js +104 -48
- package/module/element.js +30 -17
- package/module/manifest.json +2 -2
- package/module/print-demo.js +104 -48
- package/module/print.js +30 -17
- package/package.json +3 -3
|
@@ -118,7 +118,18 @@ var _default = {
|
|
|
118
118
|
},
|
|
119
119
|
text: {
|
|
120
120
|
settings: true,
|
|
121
|
-
label: 'Content'
|
|
121
|
+
label: 'Content',
|
|
122
|
+
inputConfiguration: {
|
|
123
|
+
audio: {
|
|
124
|
+
disabled: true
|
|
125
|
+
},
|
|
126
|
+
video: {
|
|
127
|
+
disabled: true
|
|
128
|
+
},
|
|
129
|
+
image: {
|
|
130
|
+
disabled: true
|
|
131
|
+
}
|
|
132
|
+
}
|
|
122
133
|
},
|
|
123
134
|
tokens: {
|
|
124
135
|
settings: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaultConfiguration.js"],"names":["model","feedbackEnabled","highlightChoices","maxSelections","mode","partialScoring","prompt","promptEnabled","rationale","rationaleEnabled","scoringType","studentInstructionsEnabled","teacherInstructions","teacherInstructionsEnabled","text","tokens","toolbarEditorPosition","configuration","baseInputConfiguration","audio","disabled","video","image","textAlign","showParagraphs","separateParagraphs","selectionCount","settings","label","correctAnswer","selections","inputConfiguration","required","studentInstructions","feedback","spellCheck","enabled","minTokens","maxImageWidth","maxImageHeight","withRubric","mathMlOptions","mmlOutput","mmlEditing","language","languageChoices","options"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../src/defaultConfiguration.js"],"names":["model","feedbackEnabled","highlightChoices","maxSelections","mode","partialScoring","prompt","promptEnabled","rationale","rationaleEnabled","scoringType","studentInstructionsEnabled","teacherInstructions","teacherInstructionsEnabled","text","tokens","toolbarEditorPosition","configuration","baseInputConfiguration","audio","disabled","video","image","textAlign","showParagraphs","separateParagraphs","selectionCount","settings","label","correctAnswer","selections","inputConfiguration","required","studentInstructions","feedback","spellCheck","enabled","minTokens","maxImageWidth","maxImageHeight","withRubric","mathMlOptions","mmlOutput","mmlEditing","language","languageChoices","options"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,eAAe,EAAE,KADZ;AAELC,IAAAA,gBAAgB,EAAE,KAFb;AAGLC,IAAAA,aAAa,EAAE,CAHV;AAILC,IAAAA,IAAI,EAAE,UAJD;AAKLC,IAAAA,cAAc,EAAE,KALX;AAMLC,IAAAA,MAAM,EAAE,EANH;AAOLC,IAAAA,aAAa,EAAE,IAPV;AAQLC,IAAAA,SAAS,EAAE,EARN;AASLC,IAAAA,gBAAgB,EAAE,IATb;AAULC,IAAAA,WAAW,EAAE,MAVR;AAWLC,IAAAA,0BAA0B,EAAE,IAXvB;AAYLC,IAAAA,mBAAmB,EAAE,EAZhB;AAaLC,IAAAA,0BAA0B,EAAE,IAbvB;AAcLC,IAAAA,IAAI,EAAE,EAdD;AAeLC,IAAAA,MAAM,EAAE,EAfH;AAgBLC,IAAAA,qBAAqB,EAAE;AAhBlB,GADM;AAmBbC,EAAAA,aAAa,EAAE;AACbC,IAAAA,sBAAsB,EAAE;AACtBC,MAAAA,KAAK,EAAE;AAAEC,QAAAA,QAAQ,EAAE;AAAZ,OADe;AAEtBC,MAAAA,KAAK,EAAE;AAAED,QAAAA,QAAQ,EAAE;AAAZ,OAFe;AAGtBE,MAAAA,KAAK,EAAE;AAAEF,QAAAA,QAAQ,EAAE;AAAZ,OAHe;AAItBG,MAAAA,SAAS,EAAE;AAAEH,QAAAA,QAAQ,EAAE;AAAZ,OAJW;AAKtBI,MAAAA,cAAc,EAAE;AAAEJ,QAAAA,QAAQ,EAAE;AAAZ,OALM;AAMtBK,MAAAA,kBAAkB,EAAE;AAAEL,QAAAA,QAAQ,EAAE;AAAZ;AANE,KADX;AASbM,IAAAA,cAAc,EAAE;AACdC,MAAAA,QAAQ,EAAE,IADI;AAEdC,MAAAA,KAAK,EAAE;AAFO,KATH;AAabC,IAAAA,aAAa,EAAE;AACbF,MAAAA,QAAQ,EAAE,IADG;AAEbC,MAAAA,KAAK,EAAE;AAFM,KAbF;AAiBbE,IAAAA,UAAU,EAAE;AACVH,MAAAA,QAAQ,EAAE,IADA;AAEVC,MAAAA,KAAK,EAAE;AAFG,KAjBC;AAqBb1B,IAAAA,gBAAgB,EAAE;AAChByB,MAAAA,QAAQ,EAAE,IADM;AAEhBC,MAAAA,KAAK,EAAE;AAFS,KArBL;AAyBbpB,IAAAA,SAAS,EAAE;AACTmB,MAAAA,QAAQ,EAAE,IADD;AAETC,MAAAA,KAAK,EAAE,WAFE;AAGTG,MAAAA,kBAAkB,EAAE;AAClBZ,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADW;AAElBC,QAAAA,KAAK,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ,SAFW;AAGlBE,QAAAA,KAAK,EAAE;AAAEF,UAAAA,QAAQ,EAAE;AAAZ;AAHW,OAHX;AAQTY,MAAAA,QAAQ,EAAE;AARD,KAzBE;AAmCbtB,IAAAA,WAAW,EAAE;AACXiB,MAAAA,QAAQ,EAAE,KADC;AAEXC,MAAAA,KAAK,EAAE;AAFI,KAnCA;AAuCbK,IAAAA,mBAAmB,EAAE;AACnBN,MAAAA,QAAQ,EAAE,KADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KAvCR;AA2CbhB,IAAAA,mBAAmB,EAAE;AACnBe,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE,sBAFY;AAGnBG,MAAAA,kBAAkB,EAAE;AAClBZ,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADW;AAElBC,QAAAA,KAAK,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ,SAFW;AAGlBE,QAAAA,KAAK,EAAE;AAAEF,UAAAA,QAAQ,EAAE;AAAZ;AAHW,OAHD;AAQnBY,MAAAA,QAAQ,EAAE;AARS,KA3CR;AAqDb1B,IAAAA,MAAM,EAAE;AACNsB,MAAAA,KAAK,EAAE,QADD;AAEND,MAAAA,QAAQ,EAAE,IAFJ;AAGNI,MAAAA,kBAAkB,EAAE;AAClBZ,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADW;AAElBC,QAAAA,KAAK,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ,SAFW;AAGlBE,QAAAA,KAAK,EAAE;AAAEF,UAAAA,QAAQ,EAAE;AAAZ;AAHW,OAHd;AAQNY,MAAAA,QAAQ,EAAE;AARJ,KArDK;AA+DblB,IAAAA,IAAI,EAAE;AACJa,MAAAA,QAAQ,EAAE,IADN;AAEJC,MAAAA,KAAK,EAAE,SAFH;AAGJG,MAAAA,kBAAkB,EAAE;AAClBZ,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADW;AAElBC,QAAAA,KAAK,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ,SAFW;AAGlBE,QAAAA,KAAK,EAAE;AAAEF,UAAAA,QAAQ,EAAE;AAAZ;AAHW;AAHhB,KA/DO;AAwEbL,IAAAA,MAAM,EAAE;AACNY,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE;AAFD,KAxEK;AA4EbM,IAAAA,QAAQ,EAAE;AACRP,MAAAA,QAAQ,EAAE,IADF;AAERC,MAAAA,KAAK,EAAE;AAFC,KA5EG;AAgFbO,IAAAA,UAAU,EAAE;AACVP,MAAAA,KAAK,EAAE,YADG;AAEVD,MAAAA,QAAQ,EAAE,KAFA;AAGVS,MAAAA,OAAO,EAAE;AAHC,KAhFC;AAqFb/B,IAAAA,cAAc,EAAE;AACdsB,MAAAA,QAAQ,EAAE,KADI;AAEdC,MAAAA,KAAK,EAAE;AAFO,KArFH;AAyFbxB,IAAAA,IAAI,EAAE;AACJuB,MAAAA,QAAQ,EAAE,IADN;AAEJC,MAAAA,KAAK,EAAE;AAFH,KAzFO;AA6FbS,IAAAA,SAAS,EAAE,CA7FE;AA8FbC,IAAAA,aAAa,EAAE;AACb1B,MAAAA,mBAAmB,EAAE,GADR;AAEbN,MAAAA,MAAM,EAAE,GAFK;AAGbE,MAAAA,SAAS,EAAE;AAHE,KA9FF;AAmGb+B,IAAAA,cAAc,EAAE;AACd3B,MAAAA,mBAAmB,EAAE,GADP;AAEdN,MAAAA,MAAM,EAAE,GAFM;AAGdE,MAAAA,SAAS,EAAE;AAHG,KAnGH;AAwGbgC,IAAAA,UAAU,EAAE;AACVb,MAAAA,QAAQ,EAAE,KADA;AAEVC,MAAAA,KAAK,EAAE;AAFG,KAxGC;AA4Gba,IAAAA,aAAa,EAAE;AACbC,MAAAA,SAAS,EAAE,KADE;AAEbC,MAAAA,UAAU,EAAE;AAFC,KA5GF;AAgHbC,IAAAA,QAAQ,EAAE;AACRjB,MAAAA,QAAQ,EAAE,KADF;AAERC,MAAAA,KAAK,EAAE,kBAFC;AAGRQ,MAAAA,OAAO,EAAE;AAHD,KAhHG;AAqHbS,IAAAA,eAAe,EAAE;AACfjB,MAAAA,KAAK,EAAE,kBADQ;AAEfkB,MAAAA,OAAO,EAAE;AAFM;AArHJ;AAnBF,C","sourcesContent":["export default {\n model: {\n feedbackEnabled: false,\n highlightChoices: false,\n maxSelections: 0,\n mode: 'sentence',\n partialScoring: false,\n prompt: '',\n promptEnabled: true,\n rationale: '',\n rationaleEnabled: true,\n scoringType: 'auto',\n studentInstructionsEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n text: '',\n tokens: [],\n toolbarEditorPosition: 'bottom',\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\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 inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\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 inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n prompt: {\n label: 'Prompt',\n settings: true,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n text: {\n settings: true,\n label: 'Content',\n inputConfiguration: {\n audio: { disabled: true },\n video: { disabled: true },\n image: { disabled: true },\n },\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 mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n },\n};\n"],"file":"defaultConfiguration.js"}
|
package/configure/lib/design.js
CHANGED
|
@@ -49,6 +49,18 @@ var _Tooltip = _interopRequireDefault(require("@material-ui/core/Tooltip"));
|
|
|
49
49
|
|
|
50
50
|
var _utils = require("./utils");
|
|
51
51
|
|
|
52
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
53
|
+
|
|
54
|
+
var _Switch = _interopRequireDefault(require("@material-ui/core/Switch"));
|
|
55
|
+
|
|
56
|
+
var _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
|
|
57
|
+
|
|
58
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
59
|
+
|
|
60
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
61
|
+
|
|
62
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
63
|
+
|
|
52
64
|
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; }
|
|
53
65
|
|
|
54
66
|
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; }
|
|
@@ -79,7 +91,12 @@ var Design = /*#__PURE__*/function (_React$Component) {
|
|
|
79
91
|
u.tokens = [];
|
|
80
92
|
});
|
|
81
93
|
}, 200));
|
|
82
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeText", function (
|
|
94
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeText", function (text) {
|
|
95
|
+
_this.updateText(text);
|
|
96
|
+
|
|
97
|
+
_this.clearTokens();
|
|
98
|
+
});
|
|
99
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeTextEvent", function (event) {
|
|
83
100
|
return _this.updateText(event.target.value);
|
|
84
101
|
});
|
|
85
102
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeTokens", function (tokens, mode) {
|
|
@@ -143,9 +160,173 @@ var Design = /*#__PURE__*/function (_React$Component) {
|
|
|
143
160
|
rationale: rationale
|
|
144
161
|
}));
|
|
145
162
|
});
|
|
163
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "createDOMAnnotation", function (elems, annotation) {
|
|
164
|
+
var classes = _this.props.classes;
|
|
165
|
+
var id = annotation.id;
|
|
166
|
+
(elems || []).forEach(function (elem) {
|
|
167
|
+
elem.dataset.id = id;
|
|
168
|
+
elem.className = (0, _classnames["default"])(classes.token); // elem.onclick = !disabled && this.handleClick;
|
|
169
|
+
// elem.onmouseover = this.handleHover;
|
|
170
|
+
// elem.onmouseout = this.handleCancelHover;
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "createNewAnnotation", function (selectedElems, selectionDetails) {
|
|
174
|
+
var annotation = _objectSpread({
|
|
175
|
+
id: [selectionDetails.start, selectionDetails.end, new Date().getTime()].join('-')
|
|
176
|
+
}, selectionDetails);
|
|
177
|
+
|
|
178
|
+
_this.createDOMAnnotation(selectedElems, annotation);
|
|
179
|
+
|
|
180
|
+
return annotation;
|
|
181
|
+
});
|
|
182
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "wrapSentencesInSpans", function (html) {
|
|
183
|
+
var onClickHandler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
184
|
+
var classes = _this.props.classes;
|
|
185
|
+
var container = document.createElement('div');
|
|
186
|
+
container.innerHTML = html;
|
|
187
|
+
|
|
188
|
+
var splitSentences = function splitSentences(text) {
|
|
189
|
+
// Match sentences ending with punctuation:
|
|
190
|
+
// "." or "!" or "?"
|
|
191
|
+
var pattern = /([^.!?]+[.!?]+[\s"]*)|([^.!?]+$)/g;
|
|
192
|
+
var matches = text.match(pattern);
|
|
193
|
+
return matches || [];
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
var processNode = function processNode(node) {
|
|
197
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
198
|
+
var sentences = splitSentences(node.textContent);
|
|
199
|
+
var fragment = document.createDocumentFragment();
|
|
200
|
+
|
|
201
|
+
var _iterator = _createForOfIteratorHelper(sentences),
|
|
202
|
+
_step;
|
|
203
|
+
|
|
204
|
+
try {
|
|
205
|
+
var _loop = function _loop() {
|
|
206
|
+
var sentence = _step.value;
|
|
207
|
+
|
|
208
|
+
if (sentence.trim()) {
|
|
209
|
+
var span = document.createElement('span');
|
|
210
|
+
span.textContent = sentence;
|
|
211
|
+
span.className = (0, _classnames["default"])(classes.token);
|
|
212
|
+
|
|
213
|
+
if (onClickHandler) {
|
|
214
|
+
span.addEventListener('click', function (e) {
|
|
215
|
+
onClickHandler(e, sentence);
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
fragment.appendChild(span);
|
|
220
|
+
} else {
|
|
221
|
+
fragment.appendChild(document.createTextNode(sentence));
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
|
|
225
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
226
|
+
_loop();
|
|
227
|
+
}
|
|
228
|
+
} catch (err) {
|
|
229
|
+
_iterator.e(err);
|
|
230
|
+
} finally {
|
|
231
|
+
_iterator.f();
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
node.replaceWith(fragment);
|
|
235
|
+
} else if (node.nodeType === Node.ELEMENT_NODE) {
|
|
236
|
+
Array.from(node.childNodes).forEach(processNode);
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
Array.from(container.childNodes).forEach(processNode);
|
|
241
|
+
return container;
|
|
242
|
+
});
|
|
243
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleSelection", function (event) {
|
|
244
|
+
var selection = window.getSelection(); // prevent unwanted selections
|
|
245
|
+
|
|
246
|
+
if (event.detail > 2) {
|
|
247
|
+
(0, _utils.clearSelection)();
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
if (selection && selection.rangeCount > 0) {
|
|
252
|
+
_this.wrapSelectionInSpan(selection);
|
|
253
|
+
|
|
254
|
+
(0, _utils.clearSelection)();
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleTokenClick", function (event) {
|
|
258
|
+
var correctMode = _this.state.correctMode;
|
|
259
|
+
|
|
260
|
+
if (!correctMode) {
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
event.target.classList.toggle('correct');
|
|
265
|
+
});
|
|
266
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "clearTokens", function () {
|
|
267
|
+
var model = _this.props.model;
|
|
268
|
+
var container = document.createElement('div');
|
|
269
|
+
container.innerHTML = model.text; // Remove all children and add new content
|
|
270
|
+
|
|
271
|
+
_this.textRef.innerHTML = '';
|
|
272
|
+
|
|
273
|
+
_this.textRef.appendChild(container);
|
|
274
|
+
|
|
275
|
+
_this.setState({
|
|
276
|
+
tokenizedText: model.text
|
|
277
|
+
});
|
|
278
|
+
});
|
|
279
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "selectWords", function () {
|
|
280
|
+
var text = _this.state.text;
|
|
281
|
+
|
|
282
|
+
_this.clearTokens();
|
|
283
|
+
|
|
284
|
+
var tokenized = _this.wrapWordsInSpans(text, function (e) {
|
|
285
|
+
return _this.handleTokenClick(e);
|
|
286
|
+
});
|
|
287
|
+
|
|
288
|
+
console.log('words:', tokenized);
|
|
289
|
+
|
|
290
|
+
_this.setState({
|
|
291
|
+
tokenizedText: tokenized
|
|
292
|
+
});
|
|
293
|
+
});
|
|
294
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "selectSentences", function () {
|
|
295
|
+
var text = _this.state.text;
|
|
296
|
+
|
|
297
|
+
_this.clearTokens();
|
|
298
|
+
|
|
299
|
+
var container = _this.wrapSentencesInSpans(text); // Remove all children and add new content
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
_this.textRef.innerHTML = '';
|
|
303
|
+
|
|
304
|
+
_this.textRef.appendChild(container);
|
|
305
|
+
|
|
306
|
+
var tokenized = container.innerHTML;
|
|
307
|
+
console.log('sentences:', tokenized); // this.setState({ tokenizedText: tokenized });
|
|
308
|
+
});
|
|
309
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "selectParagraphs", function () {
|
|
310
|
+
var text = _this.state.text;
|
|
311
|
+
|
|
312
|
+
_this.clearTokens();
|
|
313
|
+
|
|
314
|
+
var container = _this.wrapParagraphContentInSpan(text); // Remove all children and add new content
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
_this.textRef.innerHTML = '';
|
|
318
|
+
|
|
319
|
+
_this.textRef.appendChild(container);
|
|
320
|
+
|
|
321
|
+
var tokenized = container.innerHTML;
|
|
322
|
+
console.log('paragraphs:', tokenized); // this.setState({ tokenizedText: tokenized });
|
|
323
|
+
});
|
|
146
324
|
var _model = _this.props.model;
|
|
147
325
|
_this.state = {
|
|
148
|
-
|
|
326
|
+
correctMode: false,
|
|
327
|
+
selectMode: false,
|
|
328
|
+
text: _model && _model.text || '',
|
|
329
|
+
tokenizedText: _model && _model.token || ''
|
|
149
330
|
};
|
|
150
331
|
return _this;
|
|
151
332
|
}
|
|
@@ -157,16 +338,148 @@ var Design = /*#__PURE__*/function (_React$Component) {
|
|
|
157
338
|
|
|
158
339
|
if (model && model.text) {
|
|
159
340
|
this.setState({
|
|
160
|
-
text: model.text
|
|
161
|
-
|
|
341
|
+
text: model.text,
|
|
342
|
+
tokenizedText: model.text
|
|
343
|
+
}); // model.tokens.forEach((annotation) => {
|
|
344
|
+
// console.log('annotation', annotation);
|
|
345
|
+
// const [domStart, domEnd] = getDOMNodes(annotation.start, annotation.end, this.textRef);
|
|
346
|
+
// console.log('domStart, domEnd', domStart, domEnd);
|
|
347
|
+
//
|
|
348
|
+
// if (domStart && domEnd) {
|
|
349
|
+
// const range = document.createRange();
|
|
350
|
+
//
|
|
351
|
+
// range.setStart(domStart.node, domStart.offset);
|
|
352
|
+
// range.setEnd(domEnd.node, domEnd.offset);
|
|
353
|
+
//
|
|
354
|
+
// const spans = wrapRange(range);
|
|
355
|
+
//
|
|
356
|
+
// this.createDOMAnnotation(spans, annotation);
|
|
357
|
+
// }
|
|
358
|
+
// });
|
|
162
359
|
}
|
|
163
360
|
}
|
|
361
|
+
}, {
|
|
362
|
+
key: "wrapWordsInSpans",
|
|
363
|
+
value: // addAnnotation = (type) => {
|
|
364
|
+
// const { annotations, onChange } = this.props;
|
|
365
|
+
// const annotation = this.createNewAnnotation('', type);
|
|
366
|
+
// const labelElem = getLabelElement(annotation.id);
|
|
367
|
+
//
|
|
368
|
+
// annotations.push(annotation);
|
|
369
|
+
//
|
|
370
|
+
// this.setState({
|
|
371
|
+
// openedMenu: false,
|
|
372
|
+
// openedEditor: true,
|
|
373
|
+
// annotationIndex: annotations.length - 1,
|
|
374
|
+
// annotation,
|
|
375
|
+
// labelElem,
|
|
376
|
+
// });
|
|
377
|
+
//
|
|
378
|
+
// onChange(annotations);
|
|
379
|
+
// };
|
|
380
|
+
// new functionalities
|
|
381
|
+
function wrapWordsInSpans(html, onClick) {
|
|
382
|
+
var classes = this.props.classes;
|
|
383
|
+
var container = document.createElement('div');
|
|
384
|
+
container.innerHTML = html;
|
|
385
|
+
|
|
386
|
+
var processNode = function processNode(node) {
|
|
387
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
388
|
+
var words = node.textContent.split(/(\s+|\b)/); // split by word boundaries + spaces
|
|
389
|
+
|
|
390
|
+
var fragment = document.createDocumentFragment();
|
|
391
|
+
|
|
392
|
+
var _iterator2 = _createForOfIteratorHelper(words),
|
|
393
|
+
_step2;
|
|
394
|
+
|
|
395
|
+
try {
|
|
396
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
397
|
+
var word = _step2.value;
|
|
398
|
+
|
|
399
|
+
if (word.trim()) {
|
|
400
|
+
var span = document.createElement('span');
|
|
401
|
+
span.className = (0, _classnames["default"])(classes.token);
|
|
402
|
+
span.addEventListener('click', function (e) {
|
|
403
|
+
return onClick(e);
|
|
404
|
+
});
|
|
405
|
+
span.textContent = word;
|
|
406
|
+
fragment.appendChild(span);
|
|
407
|
+
} else {
|
|
408
|
+
fragment.appendChild(document.createTextNode(word));
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
} catch (err) {
|
|
412
|
+
_iterator2.e(err);
|
|
413
|
+
} finally {
|
|
414
|
+
_iterator2.f();
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
node.replaceWith(fragment);
|
|
418
|
+
} else if (node.nodeType === Node.ELEMENT_NODE) {
|
|
419
|
+
Array.from(node.childNodes).forEach(processNode);
|
|
420
|
+
}
|
|
421
|
+
};
|
|
422
|
+
|
|
423
|
+
Array.from(container.childNodes).forEach(processNode);
|
|
424
|
+
return container.innerHTML;
|
|
425
|
+
}
|
|
426
|
+
}, {
|
|
427
|
+
key: "wrapParagraphContentInSpan",
|
|
428
|
+
value: function wrapParagraphContentInSpan(html) {
|
|
429
|
+
var _this2 = this;
|
|
430
|
+
|
|
431
|
+
var classes = this.props.classes;
|
|
432
|
+
var container = document.createElement('div');
|
|
433
|
+
container.innerHTML = html;
|
|
434
|
+
container.querySelectorAll('p').forEach(function (p) {
|
|
435
|
+
var span = document.createElement('span');
|
|
436
|
+
span.className = (0, _classnames["default"])(classes.token);
|
|
437
|
+
span.addEventListener('click', _this2.handleTokenClick); // Move all children of <p> into the span
|
|
438
|
+
|
|
439
|
+
while (p.firstChild) {
|
|
440
|
+
span.appendChild(p.firstChild);
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
p.appendChild(span);
|
|
444
|
+
});
|
|
445
|
+
return container;
|
|
446
|
+
}
|
|
447
|
+
}, {
|
|
448
|
+
key: "wrapSelectionInSpan",
|
|
449
|
+
value: function wrapSelectionInSpan(selection) {
|
|
450
|
+
var classes = this.props.classes;
|
|
451
|
+
var range = selection.getRangeAt(0);
|
|
452
|
+
|
|
453
|
+
if (range.collapsed) {
|
|
454
|
+
console.log('Selection is collapsed (no text selected).');
|
|
455
|
+
return;
|
|
456
|
+
} // Extract the contents of the selection
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
var contents = range.extractContents(); // Create the span wrapper
|
|
460
|
+
|
|
461
|
+
var span = document.createElement('span');
|
|
462
|
+
span.className = (0, _classnames["default"])(classes.token);
|
|
463
|
+
span.addEventListener('click', this.handleTokenClick);
|
|
464
|
+
span.appendChild(contents); // Insert back into the DOM
|
|
465
|
+
|
|
466
|
+
range.insertNode(span); // Collapse the selection
|
|
467
|
+
|
|
468
|
+
selection.removeAllRanges();
|
|
469
|
+
}
|
|
164
470
|
}, {
|
|
165
471
|
key: "render",
|
|
166
472
|
value: function render() {
|
|
167
|
-
var _configuration$teache,
|
|
168
|
-
|
|
169
|
-
|
|
473
|
+
var _configuration$teache,
|
|
474
|
+
_configuration$prompt,
|
|
475
|
+
_this3 = this,
|
|
476
|
+
_configuration$ration;
|
|
477
|
+
|
|
478
|
+
var _this$state = this.state,
|
|
479
|
+
textValue = _this$state.text,
|
|
480
|
+
correctMode = _this$state.correctMode,
|
|
481
|
+
selectMode = _this$state.selectMode,
|
|
482
|
+
tokenizedText = _this$state.tokenizedText;
|
|
170
483
|
var _this$props6 = this.props,
|
|
171
484
|
classes = _this$props6.classes,
|
|
172
485
|
configuration = _this$props6.configuration,
|
|
@@ -336,65 +649,59 @@ var Design = /*#__PURE__*/function (_React$Component) {
|
|
|
336
649
|
mathMlOptions: mathMlOptions
|
|
337
650
|
}), promptError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
338
651
|
className: classes.errorText
|
|
339
|
-
}, promptError)),
|
|
652
|
+
}, promptError)), /*#__PURE__*/_react["default"].createElement("div", {
|
|
653
|
+
className: classes.subheader
|
|
654
|
+
}, "NEW functionality", /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], {
|
|
655
|
+
control: /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
|
|
656
|
+
checked: selectMode,
|
|
657
|
+
onChange: function onChange() {
|
|
658
|
+
return _this3.setState({
|
|
659
|
+
selectMode: !selectMode
|
|
660
|
+
});
|
|
661
|
+
}
|
|
662
|
+
}),
|
|
663
|
+
label: "Select tokens"
|
|
664
|
+
})), selectMode && /*#__PURE__*/_react["default"].createElement(_textSelect.Controls, {
|
|
665
|
+
onClear: this.clearTokens,
|
|
666
|
+
onWords: this.selectWords,
|
|
667
|
+
onSentences: this.selectSentences,
|
|
668
|
+
onParagraphs: this.selectParagraphs,
|
|
669
|
+
setCorrectMode: correctMode,
|
|
670
|
+
onToggleCorrectMode: function onToggleCorrectMode() {
|
|
671
|
+
return _this3.setState({
|
|
672
|
+
correctMode: !correctMode
|
|
673
|
+
});
|
|
674
|
+
}
|
|
675
|
+
}), text.settings && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
340
676
|
label: text.label || '',
|
|
341
677
|
className: classes.promptHolder
|
|
342
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
343
|
-
className: classes.
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
onChange: this.changeText,
|
|
347
|
-
spellCheck: spellCheckEnabled
|
|
348
|
-
})), tokens.settings && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
349
|
-
label: tokens.label || '',
|
|
350
|
-
className: classes.tokenizerContainer
|
|
351
|
-
}, /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
352
|
-
classes: {
|
|
353
|
-
tooltip: classes.tooltip
|
|
678
|
+
}, selectMode ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
679
|
+
className: classes.textContainer,
|
|
680
|
+
ref: function ref(r) {
|
|
681
|
+
return _this3.textRef = r;
|
|
354
682
|
},
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
}, /*#__PURE__*/_react["default"].createElement(_Info["default"], {
|
|
360
|
-
fontSize: 'small',
|
|
361
|
-
color: 'primary',
|
|
362
|
-
style: {
|
|
363
|
-
position: 'absolute',
|
|
364
|
-
left: '48px',
|
|
365
|
-
top: '-3px'
|
|
683
|
+
onMouseDown: selectMode && !correctMode ? _utils.clearSelection : function () {},
|
|
684
|
+
onMouseUp: selectMode && !correctMode ? this.handleSelection : function () {},
|
|
685
|
+
dangerouslySetInnerHTML: {
|
|
686
|
+
__html: tokenizedText
|
|
366
687
|
}
|
|
367
|
-
})
|
|
368
|
-
className: classes.
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
}), correctAnswer.settings && /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
|
|
385
|
-
label: "".concat(correctAnswer.label, ": ").concat(tokensModel.filter(function (t) {
|
|
386
|
-
return t.correct;
|
|
387
|
-
}).length),
|
|
388
|
-
className: classes.chip
|
|
389
|
-
}), selectionCount.settings && /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextField, {
|
|
390
|
-
min: tokensModel.filter(function (t) {
|
|
391
|
-
return t.correct;
|
|
392
|
-
}).length || 0,
|
|
393
|
-
label: "".concat(selectionCount.label, " (0:any)"),
|
|
394
|
-
max: tokensModel.length,
|
|
395
|
-
value: model.maxSelections,
|
|
396
|
-
onChange: this.changeMaxSelections,
|
|
397
|
-
className: classes.numberField
|
|
688
|
+
}) : /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
|
|
689
|
+
className: classes.prompt,
|
|
690
|
+
markup: textValue,
|
|
691
|
+
onChange: this.changeText,
|
|
692
|
+
nonEmpty: false,
|
|
693
|
+
disableUnderline: true,
|
|
694
|
+
toolbarOpts: toolbarOpts,
|
|
695
|
+
pluginProps: getPluginProps(text === null || text === void 0 ? void 0 : text.inputConfiguration),
|
|
696
|
+
spellCheck: spellCheckEnabled,
|
|
697
|
+
imageSupport: imageSupport,
|
|
698
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
699
|
+
languageCharactersProps: [{
|
|
700
|
+
language: 'spanish'
|
|
701
|
+
}, {
|
|
702
|
+
language: 'special'
|
|
703
|
+
}],
|
|
704
|
+
mathMlOptions: mathMlOptions
|
|
398
705
|
})), rationaleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
399
706
|
label: rationale.label || '',
|
|
400
707
|
className: classes.promptHolder
|
|
@@ -499,6 +806,43 @@ var _default = (0, _styles.withStyles)(function (theme) {
|
|
|
499
806
|
fontSize: theme.typography.fontSize - 2,
|
|
500
807
|
color: theme.palette.error.main,
|
|
501
808
|
paddingTop: theme.spacing.unit
|
|
809
|
+
},
|
|
810
|
+
subheader: {
|
|
811
|
+
paddingBottom: '8px',
|
|
812
|
+
borderBottom: '1px solid grey',
|
|
813
|
+
marginBottom: '16px',
|
|
814
|
+
marginTop: '24px',
|
|
815
|
+
display: 'flex',
|
|
816
|
+
alignItems: 'center',
|
|
817
|
+
justifyContent: 'space-between'
|
|
818
|
+
},
|
|
819
|
+
textContainer: {
|
|
820
|
+
padding: '15px 21px',
|
|
821
|
+
border: '1px solid #ccc',
|
|
822
|
+
borderRadius: '4px',
|
|
823
|
+
overflowY: 'scroll',
|
|
824
|
+
whiteSpace: 'pre-wrap',
|
|
825
|
+
overflowWrap: 'break-word',
|
|
826
|
+
'& p': {
|
|
827
|
+
margin: 0
|
|
828
|
+
},
|
|
829
|
+
'& span[data-latex]': {
|
|
830
|
+
userSelect: 'none',
|
|
831
|
+
'-webkit-user-select': 'none',
|
|
832
|
+
'-moz-user-select': 'none',
|
|
833
|
+
'-ms-user-select': 'none'
|
|
834
|
+
}
|
|
835
|
+
},
|
|
836
|
+
token: {
|
|
837
|
+
position: 'relative',
|
|
838
|
+
cursor: 'pointer',
|
|
839
|
+
backgroundColor: '#fff9c4',
|
|
840
|
+
'&:hover': {
|
|
841
|
+
backgroundColor: '#E5E0B0'
|
|
842
|
+
},
|
|
843
|
+
'&.correct': {
|
|
844
|
+
backgroundColor: '#4caf50'
|
|
845
|
+
}
|
|
502
846
|
}
|
|
503
847
|
};
|
|
504
848
|
})(Design);
|