@digabi/exam-engine-core 19.0.4-alpha.3 → 19.0.4-alpha.4
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/__tests__/tsconfig.tsbuildinfo +1 -1
- package/dist/components/grading/AnswerCharacterCounter.d.ts +6 -0
- package/dist/components/grading/AnswerCharacterCounter.d.ts.map +1 -0
- package/dist/components/grading/AnswerCharacterCounter.js +21 -0
- package/dist/components/grading/AnswerCharacterCounter.js.map +1 -0
- package/dist/components/grading/Grading.d.ts.map +1 -1
- package/dist/components/grading/Grading.js +12 -12
- package/dist/components/grading/Grading.js.map +1 -1
- package/dist/components/grading/GradingAnswer.d.ts +4 -3
- package/dist/components/grading/GradingAnswer.d.ts.map +1 -1
- package/dist/components/grading/GradingAnswer.js +94 -82
- package/dist/components/grading/GradingAnswer.js.map +1 -1
- package/dist/components/grading/editAnnotations.d.ts +4 -6
- package/dist/components/grading/editAnnotations.d.ts.map +1 -1
- package/dist/components/grading/editAnnotations.js +18 -13
- package/dist/components/grading/editAnnotations.js.map +1 -1
- package/dist/components/grading/largeImageDetector.js +3 -3
- package/dist/components/grading/largeImageDetector.js.map +1 -1
- package/dist/main-bundle.js +1 -1
- package/dist/main.css +1 -1
- package/dist/renderAnnotations.d.ts +2 -2
- package/dist/renderAnnotations.d.ts.map +1 -1
- package/dist/renderAnnotations.js +9 -7
- package/dist/renderAnnotations.js.map +1 -1
- package/package.json +2 -2
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AnswerCharacterCounter.d.ts","sourceRoot":"","sources":["../../../src/components/grading/AnswerCharacterCounter.tsx"],"names":[],"mappings":";AAGA,wBAAgB,sBAAsB,CAAC,EACrC,cAAc,EACd,SAAS,GACV,EAAE;IACD,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,eAqBA"}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { useExamTranslation } from '../../i18n';
|
3
|
+
export function AnswerCharacterCounter({ characterCount, maxLength, }) {
|
4
|
+
const { t } = useExamTranslation();
|
5
|
+
const percentage = countSurplusPercentage(characterCount, maxLength);
|
6
|
+
return (React.createElement("div", { className: "e-font-size-xs e-grading-answer-length" },
|
7
|
+
t('answer-length', {
|
8
|
+
count: characterCount,
|
9
|
+
}),
|
10
|
+
percentage > 0 ? (React.createElement("span", { className: "e-grading-answer-max-length-surplus" }, t('max-length-surplus', {
|
11
|
+
maxLength,
|
12
|
+
percentage,
|
13
|
+
}))) : ('')));
|
14
|
+
}
|
15
|
+
function countSurplusPercentage(characters, maxCharacters) {
|
16
|
+
if (!maxCharacters || characters <= maxCharacters) {
|
17
|
+
return 0;
|
18
|
+
}
|
19
|
+
return Math.floor((100 * characters) / maxCharacters - 100);
|
20
|
+
}
|
21
|
+
//# sourceMappingURL=AnswerCharacterCounter.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AnswerCharacterCounter.js","sourceRoot":"","sources":["../../../src/components/grading/AnswerCharacterCounter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE/C,MAAM,UAAU,sBAAsB,CAAC,EACrC,cAAc,EACd,SAAS,GAIV;IACC,MAAM,EAAE,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAClC,MAAM,UAAU,GAAG,sBAAsB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;IAEpE,OAAO,CACL,6BAAK,SAAS,EAAC,wCAAwC;QACpD,CAAC,CAAC,eAAe,EAAE;YAClB,KAAK,EAAE,cAAc;SACtB,CAAC;QACD,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAChB,8BAAM,SAAS,EAAC,qCAAqC,IAClD,CAAC,CAAC,oBAAoB,EAAE;YACvB,SAAS;YACT,UAAU;SACX,CAAC,CACG,CACR,CAAC,CAAC,CAAC,CACF,EAAE,CACH,CACG,CACP,CAAA;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAkB,EAAE,aAAwC;IAC1F,IAAI,CAAC,aAAa,IAAI,UAAU,IAAI,aAAa,EAAE;QACjD,OAAO,CAAC,CAAA;KACT;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,aAAa,GAAG,GAAG,CAAC,CAAA;AAC7D,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Grading.d.ts","sourceRoot":"","sources":["../../../src/components/grading/Grading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAA;;
|
1
|
+
{"version":3,"file":"Grading.d.ts","sourceRoot":"","sources":["../../../src/components/grading/Grading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAA;;AAmHtE,wBAA6E"}
|
@@ -49,29 +49,29 @@ function Grading() {
|
|
49
49
|
pregrading: [],
|
50
50
|
censoring: [],
|
51
51
|
});
|
52
|
-
|
53
|
-
|
52
|
+
useEffect(() => {
|
53
|
+
setAnnotations(annotationsStorage.current[answerId]);
|
54
|
+
});
|
55
|
+
const { type: answerType, value } = answersByQuestionId[answerId];
|
56
|
+
if (answerType === 'choice') {
|
54
57
|
return React.createElement("div", null, "choice answer");
|
55
58
|
}
|
56
|
-
function selectQuestion(id) {
|
59
|
+
function selectQuestion(e, id) {
|
60
|
+
e.preventDefault();
|
57
61
|
setAnswerId(id);
|
58
62
|
setAnnotations(annotationsStorage.current[id]);
|
59
63
|
}
|
60
64
|
function saveAnnotations(annotations) {
|
61
65
|
annotationsStorage.current[answerId] = annotations;
|
62
|
-
|
66
|
+
setAnnotations({ ...annotationsStorage.current[answerId] });
|
63
67
|
}
|
64
68
|
return (React.createElement(I18nextProvider, { i18n: i18n },
|
65
69
|
React.createElement("main", { className: "e-exam" },
|
66
|
-
React.createElement("div",
|
67
|
-
React.createElement("div", null,
|
68
|
-
"Teht\u00E4v\u00E4 ",
|
69
|
-
displayNumber,
|
70
|
-
" (",
|
71
|
-
questionId,
|
72
|
-
")"),
|
70
|
+
React.createElement("div", { className: "grading-navi" }, answerIds.map((id) => id === answerId ? (React.createElement("span", { key: id, className: "grading-navi-item" }, answersByQuestionId[id].displayNumber)) : (React.createElement("a", { className: "grading-navi-item", href: "", onClick: (e) => selectQuestion(e, id), key: id }, answersByQuestionId[id].displayNumber)))),
|
73
71
|
React.createElement(GradingAnswer, { ...{
|
74
|
-
|
72
|
+
isReadOnly: false,
|
73
|
+
answerType,
|
74
|
+
gradingRole: 'censoring',
|
75
75
|
value,
|
76
76
|
annotations,
|
77
77
|
saveAnnotations,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Grading.js","sourceRoot":"","sources":["../../../src/components/grading/Grading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,SAAS,OAAO;IACd,MAAM,EAAE,mBAAmB,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IAE1D,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;IAC/C,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;IAExC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC9D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAO,8CAAqB,CAAA;KAC7B;IACD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAE9D,MAAM,kBAAkB,GAAG,MAAM,CAC/B,MAAM,CAAC,WAAW,CAChB,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;QACpB,EAAE;QACF;YACE,UAAU,EAAE;gBACV;oBACE,UAAU,EAAE,CAAC;oBACb,MAAM,EAAE,CAAC;oBACT,OAAO,EAAE,IAAI;iBACd;gBACD;oBACE,CAAC,EAAE,mBAAmB;oBACtB,CAAC,EAAE,kBAAkB;oBACrB,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,mBAAmB;oBAC1B,MAAM,EAAE,mBAAmB;oBAC3B,OAAO,EAAE,IAAI;oBACb,eAAe,EAAE,CAAC;iBACnB;gBACD;oBACE,EAAE,EAAE,kBAAkB;oBACtB,EAAE,EAAE,kBAAkB;oBACtB,EAAE,EAAE,iBAAiB;oBACrB,EAAE,EAAE,iBAAiB;oBACrB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,SAAS;oBAClB,eAAe,EAAE,CAAC;iBACnB;aACF;YACD,SAAS,EAAE,EAAE;SACd;KACF,CAAC,CACH,CACF,CAAA;IAED,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAwD;QACpG,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;KACd,CAAC,CAAA;IAEF,
|
1
|
+
{"version":3,"file":"Grading.js","sourceRoot":"","sources":["../../../src/components/grading/Grading.tsx"],"names":[],"mappings":"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"}
|
@@ -4,15 +4,16 @@ type Annotations = {
|
|
4
4
|
pregrading: Annotation[];
|
5
5
|
censoring: Annotation[];
|
6
6
|
};
|
7
|
-
type
|
8
|
-
export declare function GradingAnswer({ answer: { type, characterCount, value }, isReadOnly, gradingRole, annotations, saveAnnotations, maxLength, }: {
|
7
|
+
type GradingRole = 'pregrading' | 'censoring';
|
8
|
+
export declare function GradingAnswer({ answer: { type, characterCount, value }, language, isReadOnly, gradingRole, annotations, saveAnnotations, maxLength, }: {
|
9
9
|
answer: {
|
10
10
|
type: 'richText' | 'text';
|
11
11
|
characterCount: number;
|
12
12
|
value: string;
|
13
13
|
};
|
14
|
+
language: string;
|
14
15
|
isReadOnly: boolean;
|
15
|
-
gradingRole:
|
16
|
+
gradingRole: GradingRole;
|
16
17
|
maxLength?: number;
|
17
18
|
annotations: Annotations;
|
18
19
|
saveAnnotations: (annotations: Annotations) => void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"GradingAnswer.d.ts","sourceRoot":"","sources":["../../../src/components/grading/GradingAnswer.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;
|
1
|
+
{"version":3,"file":"GradingAnswer.d.ts","sourceRoot":"","sources":["../../../src/components/grading/GradingAnswer.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAyBlC,KAAK,WAAW,GAAG;IAAE,UAAU,EAAE,UAAU,EAAE,CAAC;IAAC,SAAS,EAAE,UAAU,EAAE,CAAA;CAAE,CAAA;AAExE,KAAK,WAAW,GAAG,YAAY,GAAG,WAAW,CAAA;AAC7C,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,EACvC,QAAQ,EACR,UAAU,EACV,WAAW,EACX,WAAW,EACX,eAAe,EACf,SAAS,GACV,EAAE;IACD,MAAM,EAAE;QAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5E,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,WAAW,CAAA;IACxB,eAAe,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAA;CACpD,eAkSA"}
|
@@ -1,10 +1,13 @@
|
|
1
|
-
import React, { useLayoutEffect, useRef } from 'react';
|
2
|
-
import { annotationFromMousePosition, hasTextSelectedInAnswerText, imageAnnotationMouseDownInfo, mergeAnnotation, selectionHasNothingToUnderline,
|
1
|
+
import React, { useEffect, useLayoutEffect, useRef } from 'react';
|
2
|
+
import { annotationFromMousePosition, getOverlappingMessages, hasTextSelectedInAnswerText, imageAnnotationMouseDownInfo, mergeAnnotation, selectionHasNothingToUnderline, showAndPositionElement, textAnnotationFromRange, } from './editAnnotations';
|
3
3
|
import { renderAnnotations, renderImageAnnotationByImage, updateImageAnnotationMarkSize, wrapAllImages, } from '../../renderAnnotations';
|
4
4
|
import GradingAnswerAnnotationList from './GradingAnswerAnnotationList';
|
5
|
-
import {
|
5
|
+
import { changeLanguage, initI18n } from '../../i18n';
|
6
6
|
import { updateLargeImageWarnings } from './largeImageDetector';
|
7
|
-
|
7
|
+
import { I18nextProvider } from 'react-i18next';
|
8
|
+
import { useCached } from '../../useCached';
|
9
|
+
import { AnswerCharacterCounter } from './AnswerCharacterCounter';
|
10
|
+
export function GradingAnswer({ answer: { type, characterCount, value }, language, isReadOnly, gradingRole, annotations, saveAnnotations, maxLength, }) {
|
8
11
|
const answerRef = useRef(null);
|
9
12
|
const popupRef = useRef(null);
|
10
13
|
const messageRef = useRef(null);
|
@@ -12,15 +15,33 @@ export function GradingAnswer({ answer: { type, characterCount, value }, isReadO
|
|
12
15
|
let newAnnotationObject;
|
13
16
|
let savedAnnotations;
|
14
17
|
const imgAnnotationState = { start: undefined, element: undefined, img: undefined };
|
15
|
-
let
|
16
|
-
let closeTooltipTimeout;
|
18
|
+
let isEditAnnotationPopupVisible = false;
|
17
19
|
let annotationDataForTooltip;
|
20
|
+
let annotationPositionForPopup;
|
21
|
+
let hideTooltipTimeout;
|
18
22
|
let windowResizeTimeout;
|
19
|
-
|
23
|
+
function onAnnotationOrListClick(e) {
|
24
|
+
var _a;
|
25
|
+
const element = e.target;
|
26
|
+
if (element instanceof HTMLElement) {
|
27
|
+
if (element.tagName === 'MARK') {
|
28
|
+
showTooltip(element);
|
29
|
+
}
|
30
|
+
else if (element.tagName === 'LI') {
|
31
|
+
const index = (_a = element.dataset.listNumber) === null || _a === void 0 ? void 0 : _a.replace(')', '');
|
32
|
+
const mark = document.querySelector(`.e-annotation[data-index="${index}"]`);
|
33
|
+
showTooltip(mark);
|
34
|
+
mark.scrollIntoView({ block: 'center', behavior: 'smooth' });
|
35
|
+
}
|
36
|
+
else if (annotationDataForTooltip) {
|
37
|
+
hideTooltip();
|
38
|
+
}
|
39
|
+
}
|
40
|
+
}
|
20
41
|
function editExistingAnnotation(e) {
|
21
42
|
if (e.target.closest('.editable')) {
|
22
43
|
toggle(tooltipRef.current, false);
|
23
|
-
|
44
|
+
showExistingAnnotationPopup(annotationPositionForPopup);
|
24
45
|
}
|
25
46
|
}
|
26
47
|
useLayoutEffect(() => {
|
@@ -35,98 +56,98 @@ export function GradingAnswer({ answer: { type, characterCount, value }, isReadO
|
|
35
56
|
windowResizeTimeout = setTimeout(() => updateLargeImageWarnings(answerRef.current), 1000);
|
36
57
|
};
|
37
58
|
});
|
38
|
-
const
|
39
|
-
|
40
|
-
return (React.createElement(
|
41
|
-
React.createElement("div", {
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
}),
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
React.createElement("
|
53
|
-
|
54
|
-
|
55
|
-
React.createElement("span", { onClick: (e) => editExistingAnnotation(e), className: "e-grading-answer-tooltip-label" }, "tooltip text"),
|
56
|
-
React.createElement("button", { onClick: (e) => removeAnnotation(e), className: "e-grading-answer-tooltip-remove" }, "\u00D7"))));
|
59
|
+
const i18n = useCached(() => initI18n(language));
|
60
|
+
useEffect(changeLanguage(i18n, language));
|
61
|
+
return (React.createElement(I18nextProvider, { i18n: i18n },
|
62
|
+
React.createElement("div", { onClick: (e) => onAnnotationOrListClick(e), className: "e-grading-answer-wrapper" },
|
63
|
+
React.createElement("div", { className: "e-grading-answer e-line-height-l e-mrg-b-1", ref: answerRef, onMouseDown: (e) => onAnswerMouseDown(e), onMouseOver: (e) => onMouseOverAnnotation(e.target) }),
|
64
|
+
React.createElement(AnswerCharacterCounter, { characterCount: characterCount, maxLength: maxLength }),
|
65
|
+
React.createElement(GradingAnswerAnnotationList, { censoring: annotations.censoring, pregrading: annotations.pregrading, singleGrading: false }),
|
66
|
+
React.createElement("form", { style: { display: 'none' }, ref: popupRef, className: "e-grading-answer-popup e-grading-answer-add-annotation", onSubmit: (e) => onSubmitAnnotation(e) },
|
67
|
+
React.createElement("input", { name: "message", className: "e-grading-answer-add-annotation-text", type: "text", ref: messageRef }),
|
68
|
+
React.createElement("button", { className: "e-grading-answer-add-annotation-button", type: "submit", "data-i18n": "arpa.annotate" }, "Merkitse"),
|
69
|
+
React.createElement("button", { className: "e-grading-answer-close-popup", onClick: (e) => {
|
70
|
+
e.preventDefault();
|
71
|
+
hideAnnotationPopupAndRefresh();
|
72
|
+
} }, "\u00D7")),
|
73
|
+
React.createElement("div", { style: { display: 'none' }, ref: tooltipRef, className: "e-grading-answer-tooltip e-grading-answer-popup", onMouseOver: onMouseOverTooltip, onMouseOut: hideTooltip },
|
74
|
+
React.createElement("span", { onClick: (e) => editExistingAnnotation(e), className: "e-grading-answer-tooltip-label" }, "tooltip text"),
|
75
|
+
React.createElement("button", { onClick: (e) => removeAnnotation(e), className: "e-grading-answer-tooltip-remove" }, "\u00D7")))));
|
57
76
|
function removeAnnotation(e) {
|
58
77
|
e.preventDefault();
|
59
|
-
|
60
|
-
savedAnnotations[annotationDataForTooltip.
|
78
|
+
hideTooltip();
|
79
|
+
savedAnnotations[annotationDataForTooltip.role].splice(annotationDataForTooltip.index, 1);
|
61
80
|
annotationDataForTooltip = undefined;
|
62
81
|
saveAnnotations(savedAnnotations);
|
63
82
|
}
|
64
|
-
function
|
65
|
-
|
83
|
+
function hideTooltip() {
|
84
|
+
hideTooltipTimeout = setTimeout(() => {
|
66
85
|
toggle(tooltipRef.current, false);
|
67
86
|
}, 400);
|
68
87
|
}
|
69
88
|
function onMouseOverTooltip() {
|
70
|
-
clearTimeout(
|
89
|
+
clearTimeout(hideTooltipTimeout);
|
71
90
|
}
|
72
|
-
function
|
91
|
+
function onMouseOutFromTooltip(e) {
|
73
92
|
const target = e.target;
|
74
93
|
if (target.tagName === 'MARK') {
|
75
|
-
clearTimeout(
|
76
|
-
|
94
|
+
clearTimeout(hideTooltipTimeout);
|
95
|
+
hideTooltip();
|
77
96
|
}
|
78
|
-
answerRef.current.removeEventListener('mouseout',
|
97
|
+
answerRef.current.removeEventListener('mouseout', onMouseOutFromTooltip);
|
79
98
|
}
|
80
99
|
function showTooltip(target) {
|
81
|
-
clearTimeout(
|
100
|
+
clearTimeout(hideTooltipTimeout);
|
82
101
|
const tooltip = tooltipRef.current;
|
83
102
|
const { type, listIndex, message } = target.dataset;
|
84
103
|
tooltip.classList.toggle('editable', !isReadOnly && type === gradingRole);
|
85
|
-
|
86
|
-
|
87
|
-
Object.assign(tooltip.style, showAndPositionPopup(rect, answerRef.current));
|
104
|
+
annotationPositionForPopup = target.getBoundingClientRect();
|
105
|
+
showAndPositionElement(annotationPositionForPopup, answerRef.current, tooltip);
|
88
106
|
tooltip.querySelector('.e-grading-answer-tooltip-label').textContent = message || '–';
|
89
|
-
annotationDataForTooltip = { index: Number(listIndex),
|
90
|
-
answerRef.current.addEventListener('mouseout',
|
107
|
+
annotationDataForTooltip = { index: Number(listIndex), role: type, message: message || '' };
|
108
|
+
answerRef.current.addEventListener('mouseout', onMouseOutFromTooltip);
|
91
109
|
}
|
92
|
-
function
|
110
|
+
function onMouseOverAnnotation(target) {
|
93
111
|
if (target.tagName === 'MARK' &&
|
94
|
-
!
|
112
|
+
!isEditAnnotationPopupVisible &&
|
95
113
|
(!hasTextSelectedInAnswerText() || isReadOnly) &&
|
96
114
|
!imgAnnotationState.element) {
|
97
115
|
showTooltip(target);
|
98
116
|
}
|
99
117
|
}
|
100
|
-
function showAnnotationPopup(rect) {
|
118
|
+
function showAnnotationPopup(rect, message) {
|
101
119
|
annotationDataForTooltip = undefined;
|
102
|
-
setupAnnotationPopup(rect,
|
120
|
+
setupAnnotationPopup(rect, message);
|
103
121
|
}
|
104
|
-
function
|
122
|
+
function showExistingAnnotationPopup(rect) {
|
105
123
|
setupAnnotationPopup(rect, annotationDataForTooltip.message);
|
106
124
|
}
|
107
125
|
function setupAnnotationPopup(rect, message) {
|
108
|
-
|
126
|
+
// Could be active from previous popup
|
127
|
+
window.removeEventListener('keydown', onKeyUpInAnnotationPopup);
|
128
|
+
showAndPositionElement(rect, answerRef.current, popupRef.current);
|
109
129
|
const inputElement = messageRef.current;
|
110
130
|
inputElement.value = message;
|
111
131
|
inputElement.focus();
|
112
|
-
|
113
|
-
window.addEventListener('keydown',
|
132
|
+
isEditAnnotationPopupVisible = true;
|
133
|
+
window.addEventListener('keydown', onKeyUpInAnnotationPopup);
|
114
134
|
}
|
115
|
-
function
|
135
|
+
function hideAnnotationPopupAndRefresh() {
|
116
136
|
newAnnotationObject = undefined;
|
117
137
|
imgAnnotationState.element = undefined;
|
118
138
|
imgAnnotationState.img = undefined;
|
119
|
-
|
120
|
-
window.removeEventListener('keydown',
|
139
|
+
isEditAnnotationPopupVisible = false;
|
140
|
+
window.removeEventListener('keydown', onKeyUpInAnnotationPopup);
|
121
141
|
toggle(popupRef.current, false);
|
122
142
|
renderAnswerWithAnnotations(savedAnnotations);
|
123
143
|
}
|
124
|
-
function
|
144
|
+
function onAnswerMouseDown(e) {
|
125
145
|
var _a;
|
126
146
|
if (isReadOnly) {
|
127
147
|
return;
|
128
148
|
}
|
129
|
-
window.addEventListener('mouseup',
|
149
|
+
window.addEventListener('mouseup', onWindowMouseUpAfterAnswerMouseDown);
|
150
|
+
// Do annotations only with left mouse buttons
|
130
151
|
if (e.button !== 0) {
|
131
152
|
return;
|
132
153
|
}
|
@@ -135,27 +156,22 @@ export function GradingAnswer({ answer: { type, characterCount, value }, isReadO
|
|
135
156
|
if (!img) {
|
136
157
|
return;
|
137
158
|
}
|
138
|
-
img.addEventListener('dragstart', preventDefaults);
|
159
|
+
img.addEventListener('dragstart', preventDefaults); // Prevent dragging images when marking image annotations
|
139
160
|
imgAnnotationState.start = imageAnnotationMouseDownInfo(e, img);
|
140
161
|
imgAnnotationState.img = img;
|
141
162
|
window.addEventListener('mousemove', onMouseMoveForImageAnnotation);
|
142
163
|
}
|
143
|
-
function
|
164
|
+
function onWindowMouseUpAfterAnswerMouseDown() {
|
144
165
|
var _a, _b;
|
145
166
|
(_a = imgAnnotationState.img) === null || _a === void 0 ? void 0 : _a.removeEventListener('dragstart', preventDefaults);
|
146
167
|
window.removeEventListener('mousemove', onMouseMoveForImageAnnotation);
|
147
|
-
window.removeEventListener('mouseup',
|
148
|
-
|
149
|
-
closePopupAndRefresh();
|
150
|
-
return;
|
151
|
-
}
|
168
|
+
window.removeEventListener('mouseup', onWindowMouseUpAfterAnswerMouseDown);
|
169
|
+
// Image annotation is being created since shape exists
|
152
170
|
if (imgAnnotationState.element) {
|
153
|
-
showAnnotationPopup((_b = imgAnnotationState.element) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect());
|
154
|
-
return;
|
155
|
-
}
|
156
|
-
if (isPopupVisible) {
|
171
|
+
showAnnotationPopup((_b = imgAnnotationState.element) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect(), '');
|
157
172
|
return;
|
158
173
|
}
|
174
|
+
// Text annotation
|
159
175
|
const selection = window.getSelection();
|
160
176
|
if (selection && answerRef.current !== null && hasTextSelectedInAnswerText()) {
|
161
177
|
const range = selection.getRangeAt(0);
|
@@ -163,8 +179,9 @@ export function GradingAnswer({ answer: { type, characterCount, value }, isReadO
|
|
163
179
|
return;
|
164
180
|
}
|
165
181
|
const position = textAnnotationFromRange(answerRef.current, range);
|
166
|
-
|
167
|
-
|
182
|
+
const message = getOverlappingMessages(savedAnnotations[gradingRole], position.startIndex, position.length);
|
183
|
+
newAnnotationObject = { ...position, type: 'text', message };
|
184
|
+
showAnnotationPopup(range.getBoundingClientRect(), message);
|
168
185
|
const newAnnotations = { ...savedAnnotations };
|
169
186
|
newAnnotations[gradingRole] = mergeAnnotation(answerRef.current, newAnnotationObject, savedAnnotations[gradingRole]);
|
170
187
|
renderAnswerWithAnnotations(newAnnotations);
|
@@ -173,6 +190,7 @@ export function GradingAnswer({ answer: { type, characterCount, value }, isReadO
|
|
173
190
|
function onMouseMoveForImageAnnotation(e) {
|
174
191
|
preventDefaults(e);
|
175
192
|
newAnnotationObject = annotationFromMousePosition(e, imgAnnotationState.start);
|
193
|
+
// Create shape on first mouse move and resize after that
|
176
194
|
if (imgAnnotationState.element) {
|
177
195
|
updateImageAnnotationMarkSize(imgAnnotationState.element, newAnnotationObject);
|
178
196
|
}
|
@@ -190,25 +208,25 @@ export function GradingAnswer({ answer: { type, characterCount, value }, isReadO
|
|
190
208
|
else {
|
191
209
|
container.textContent = value;
|
192
210
|
}
|
193
|
-
renderAnnotations(container, annotations.pregrading, annotations.censoring);
|
194
|
-
//TODO make titles optional for annotation rendering
|
195
|
-
container.querySelectorAll('mark').forEach((mark) => mark.removeAttribute('title'));
|
211
|
+
renderAnnotations(container, annotations.pregrading, annotations.censoring, false);
|
196
212
|
}
|
197
|
-
function
|
213
|
+
function onSubmitAnnotation(e) {
|
198
214
|
e.preventDefault();
|
199
215
|
const message = messageRef.current.value;
|
200
216
|
if (annotationDataForTooltip) {
|
201
|
-
|
217
|
+
// Editing existing annotation message by clicking tooltip
|
218
|
+
savedAnnotations[annotationDataForTooltip.role][annotationDataForTooltip.index].message = message;
|
202
219
|
}
|
203
220
|
else {
|
221
|
+
// Saving new annotation
|
204
222
|
savedAnnotations[gradingRole] = mergeAnnotation(answerRef.current, { ...newAnnotationObject, message }, savedAnnotations[gradingRole] || []);
|
205
223
|
}
|
206
224
|
toggle(popupRef.current, false);
|
207
225
|
saveAnnotations(savedAnnotations);
|
208
226
|
}
|
209
|
-
function
|
210
|
-
if (e.key === 'Escape' &&
|
211
|
-
|
227
|
+
function onKeyUpInAnnotationPopup(e) {
|
228
|
+
if (e.key === 'Escape' && isEditAnnotationPopupVisible) {
|
229
|
+
hideAnnotationPopupAndRefresh();
|
212
230
|
}
|
213
231
|
}
|
214
232
|
}
|
@@ -216,12 +234,6 @@ function preventDefaults(e) {
|
|
216
234
|
e.preventDefault();
|
217
235
|
e.stopPropagation();
|
218
236
|
}
|
219
|
-
function countSurplusPercentage(characters, maxCharacters) {
|
220
|
-
if (!maxCharacters || characters <= maxCharacters) {
|
221
|
-
return 0;
|
222
|
-
}
|
223
|
-
return Math.floor((100 * characters) / maxCharacters - 100);
|
224
|
-
}
|
225
237
|
function toggle(element, isVisible) {
|
226
238
|
if (element instanceof HTMLElement) {
|
227
239
|
element.style.display = isVisible ? 'initial' : 'none';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"GradingAnswer.js","sourceRoot":"","sources":["../../../src/components/grading/GradingAnswer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAa,eAAe,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;
|
1
|
+
{"version":3,"file":"GradingAnswer.js","sourceRoot":"","sources":["../../../src/components/grading/GradingAnswer.tsx"],"names":[],"mappings":"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"}
|
@@ -1,16 +1,14 @@
|
|
1
|
-
import { Annotation, ImageAnnotation } from '../../types/Score';
|
1
|
+
import { Annotation, ImageAnnotation, TextAnnotation } from '../../types/Score';
|
2
2
|
import React from 'react';
|
3
3
|
export declare function textAnnotationFromRange(answerTextNode: Element, range: Range): {
|
4
4
|
startIndex: number;
|
5
5
|
length: number;
|
6
6
|
};
|
7
|
+
export declare function getOverlappingMessages(currentAnnotations: Annotation[], start: number, length: number): string;
|
8
|
+
export declare function getOverlappingMessagesFromTextAnnotations(currentAnnotations: TextAnnotation[], start: number, length: number): string;
|
7
9
|
export declare function toNodeLength(node: Node): number | undefined;
|
8
10
|
export declare function allNodesUnder(el: Node, documentObject?: Document): Node[];
|
9
|
-
export declare function
|
10
|
-
display: string;
|
11
|
-
top: string;
|
12
|
-
left: string;
|
13
|
-
};
|
11
|
+
export declare function showAndPositionElement(annotationRect: DOMRect, container: HTMLElement, popup: HTMLElement): void;
|
14
12
|
export declare function hasTextSelectedInAnswerText(): boolean;
|
15
13
|
export declare function selectionHasNothingToUnderline(range: Range): boolean;
|
16
14
|
export declare function mergeAnnotation($answerText: Element, newAnnotation: Annotation, annotations: Annotation[]): Annotation[];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"editAnnotations.d.ts","sourceRoot":"","sources":["../../../src/components/grading/editAnnotations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,eAAe,
|
1
|
+
{"version":3,"file":"editAnnotations.d.ts","sourceRoot":"","sources":["../../../src/components/grading/editAnnotations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC/E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;;;EAgB5E;AAED,wBAAgB,sBAAsB,CAAC,kBAAkB,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAGrG;AACD,wBAAgB,yCAAyC,CACvD,kBAAkB,EAAE,cAAc,EAAE,EACpC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,UAIf;AACD,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,sBAEtC;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,WAAW,GAAG,IAAI,EAAE,CAQzE;AAED,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,QAczG;AAED,wBAAgB,2BAA2B,IAAI,OAAO,CAqCrD;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,KAAK,WAM1D;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,gBA0BzG;AAqBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,UAKvE;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,OAAO,CAAA;IACb,eAAe,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AACD,wBAAgB,2BAA2B,CACzC,CAAC,EAAE,UAAU,EACb,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,GAC9E,eAAe,CA+BjB;AACD,wBAAgB,4BAA4B,CAC1C,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,EAC/C,KAAK,EAAE,gBAAgB,GACtB,kBAAkB,CAUpB"}
|
@@ -15,6 +15,14 @@ export function textAnnotationFromRange(answerTextNode, range) {
|
|
15
15
|
return offsetInside + _.sum(nodesBeforeContainer.map(toNodeLength));
|
16
16
|
}
|
17
17
|
}
|
18
|
+
export function getOverlappingMessages(currentAnnotations, start, length) {
|
19
|
+
const textAnnotations = currentAnnotations.filter((a) => a.type === 'text');
|
20
|
+
return getOverlappingMessagesFromTextAnnotations(textAnnotations, start, length);
|
21
|
+
}
|
22
|
+
export function getOverlappingMessagesFromTextAnnotations(currentAnnotations, start, length) {
|
23
|
+
const parted = getOverlappingAnnotations(currentAnnotations, { startIndex: start, length, message: '' });
|
24
|
+
return _.compact(parted.overlapping.map((anno) => anno.message)).reduceRight((msg, str) => `${str} / ${msg}`, '');
|
25
|
+
}
|
18
26
|
export function toNodeLength(node) {
|
19
27
|
var _a;
|
20
28
|
return node.nodeType === Node.TEXT_NODE ? (_a = node.textContent) === null || _a === void 0 ? void 0 : _a.length : node.nodeName === 'IMG' ? 1 : 0;
|
@@ -28,21 +36,18 @@ export function allNodesUnder(el, documentObject = document) {
|
|
28
36
|
}
|
29
37
|
return a;
|
30
38
|
}
|
31
|
-
export function
|
39
|
+
export function showAndPositionElement(annotationRect, container, popup) {
|
40
|
+
const style = popup.style;
|
32
41
|
if (container) {
|
42
|
+
style.display = 'block';
|
33
43
|
const containerRect = container.getBoundingClientRect();
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
return {
|
42
|
-
display: 'block',
|
43
|
-
top: '0px',
|
44
|
-
left: '0px',
|
45
|
-
};
|
44
|
+
const popupRect = popup.getBoundingClientRect();
|
45
|
+
const left = annotationRect.left - containerRect.left;
|
46
|
+
const top = annotationRect.bottom - containerRect.top + 25;
|
47
|
+
style.top = String(top) + 'px';
|
48
|
+
style.left =
|
49
|
+
String(left + popupRect.width < containerRect.width ? left + 20 : containerRect.width - popupRect.width + 15) +
|
50
|
+
'px';
|
46
51
|
}
|
47
52
|
}
|
48
53
|
export function hasTextSelectedInAnswerText() {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"editAnnotations.js","sourceRoot":"","sources":["../../../src/components/grading/editAnnotations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,WAAW,CAAA;AAI9B,MAAM,UAAU,uBAAuB,CAAC,cAAuB,EAAE,KAAY;IAC3E,MAAM,WAAW,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;IACjD,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;IAC3F,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IACzF,OAAO;QACL,UAAU,EAAE,gBAAgB;QAC5B,MAAM,EAAE,kBAAkB,GAAG,gBAAgB;KAC9C,CAAA;IAED,SAAS,yBAAyB,CAAC,cAAoB,EAAE,MAAc;QACrE,MAAM,cAAc,GAAG,cAAc,KAAK,cAAc,CAAA;QACxD,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAA;QACrF,MAAM,YAAY,GAAW,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QACxD,MAAM,oBAAoB,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;QACnF,OAAO,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAA;IACrE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAU;;IACrC,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACtG,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAQ,EAAE,cAAc,GAAG,QAAQ;IAC/D,IAAI,CAAC,GAAgB,IAAI,CAAA;IACzB,MAAM,CAAC,GAAW,EAAE,CAAA;IACpB,MAAM,IAAI,GAAG,cAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IACtG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE;QAC5B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KACV;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,UAAU,
|
1
|
+
{"version":3,"file":"editAnnotations.js","sourceRoot":"","sources":["../../../src/components/grading/editAnnotations.ts"],"names":[],"mappings":"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"}
|