@digabi/exam-engine-core 18.3.2 → 19.0.4-alpha.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. package/dist/__tests__/results/ResultsContext.test.js +9 -9
  2. package/dist/__tests__/results/ResultsContext.test.js.map +1 -1
  3. package/dist/__tests__/tsconfig.tsbuildinfo +1 -1
  4. package/dist/components/grading/AnnotationPopup.d.ts +11 -0
  5. package/dist/components/grading/AnnotationPopup.d.ts.map +1 -0
  6. package/dist/components/grading/AnnotationPopup.js +20 -0
  7. package/dist/components/grading/AnnotationPopup.js.map +1 -0
  8. package/dist/components/grading/AnswerWithAnnotations.d.ts +11 -0
  9. package/dist/components/grading/AnswerWithAnnotations.d.ts.map +1 -0
  10. package/dist/components/grading/AnswerWithAnnotations.js +15 -0
  11. package/dist/components/grading/AnswerWithAnnotations.js.map +1 -0
  12. package/dist/components/grading/ChoiceAnswer.d.ts +6 -0
  13. package/dist/components/grading/ChoiceAnswer.d.ts.map +1 -0
  14. package/dist/components/grading/ChoiceAnswer.js +57 -0
  15. package/dist/components/grading/ChoiceAnswer.js.map +1 -0
  16. package/dist/components/grading/DropdownAnswer.d.ts +6 -0
  17. package/dist/components/grading/DropdownAnswer.d.ts.map +1 -0
  18. package/dist/components/grading/DropdownAnswer.js +43 -0
  19. package/dist/components/grading/DropdownAnswer.js.map +1 -0
  20. package/dist/components/grading/Grading.d.ts +4 -0
  21. package/dist/components/grading/Grading.d.ts.map +1 -0
  22. package/dist/components/grading/Grading.js +79 -0
  23. package/dist/components/grading/Grading.js.map +1 -0
  24. package/dist/components/grading/GradingAnswer.d.ts +14 -0
  25. package/dist/components/grading/GradingAnswer.d.ts.map +1 -0
  26. package/dist/components/grading/GradingAnswer.js +169 -0
  27. package/dist/components/grading/GradingAnswer.js.map +1 -0
  28. package/dist/components/grading/MultiLineAnswer.d.ts +14 -0
  29. package/dist/components/grading/MultiLineAnswer.d.ts.map +1 -0
  30. package/dist/components/grading/MultiLineAnswer.js +61 -0
  31. package/dist/components/grading/MultiLineAnswer.js.map +1 -0
  32. package/dist/components/grading/Question.d.ts +5 -0
  33. package/dist/components/grading/Question.d.ts.map +1 -0
  34. package/dist/components/grading/Question.js +23 -0
  35. package/dist/components/grading/Question.js.map +1 -0
  36. package/dist/components/grading/QuestionTitle.d.ts +6 -0
  37. package/dist/components/grading/QuestionTitle.d.ts.map +1 -0
  38. package/dist/components/grading/QuestionTitle.js +21 -0
  39. package/dist/components/grading/QuestionTitle.js.map +1 -0
  40. package/dist/components/grading/Results.d.ts +15 -0
  41. package/dist/components/grading/Results.d.ts.map +1 -0
  42. package/dist/components/grading/Results.js +77 -0
  43. package/dist/components/grading/Results.js.map +1 -0
  44. package/dist/components/grading/ScoredTextAnswer.d.ts +6 -0
  45. package/dist/components/grading/ScoredTextAnswer.d.ts.map +1 -0
  46. package/dist/components/grading/ScoredTextAnswer.js +22 -0
  47. package/dist/components/grading/ScoredTextAnswer.js.map +1 -0
  48. package/dist/components/grading/Section.d.ts +5 -0
  49. package/dist/components/grading/Section.d.ts.map +1 -0
  50. package/dist/components/grading/Section.js +18 -0
  51. package/dist/components/grading/Section.js.map +1 -0
  52. package/dist/components/grading/SingleLineAnswer.d.ts +12 -0
  53. package/dist/components/grading/SingleLineAnswer.d.ts.map +1 -0
  54. package/dist/components/grading/SingleLineAnswer.js +23 -0
  55. package/dist/components/grading/SingleLineAnswer.js.map +1 -0
  56. package/dist/components/grading/TextAnswer.d.ts +7 -0
  57. package/dist/components/grading/TextAnswer.d.ts.map +1 -0
  58. package/dist/components/grading/TextAnswer.js +53 -0
  59. package/dist/components/grading/TextAnswer.js.map +1 -0
  60. package/dist/components/grading/editAnnotations.d.ts +27 -0
  61. package/dist/components/grading/editAnnotations.d.ts.map +1 -0
  62. package/dist/components/grading/editAnnotations.js +170 -0
  63. package/dist/components/grading/editAnnotations.js.map +1 -0
  64. package/dist/components/grading/internal/AnnotationList.d.ts +5 -0
  65. package/dist/components/grading/internal/AnnotationList.d.ts.map +1 -0
  66. package/dist/components/grading/internal/AnnotationList.js +43 -0
  67. package/dist/components/grading/internal/AnnotationList.js.map +1 -0
  68. package/dist/components/grading/internal/QuestionAutoScore.d.ts +10 -0
  69. package/dist/components/grading/internal/QuestionAutoScore.d.ts.map +1 -0
  70. package/dist/components/grading/internal/QuestionAutoScore.js +17 -0
  71. package/dist/components/grading/internal/QuestionAutoScore.js.map +1 -0
  72. package/dist/components/grading/internal/QuestionManualScore.d.ts +12 -0
  73. package/dist/components/grading/internal/QuestionManualScore.d.ts.map +1 -0
  74. package/dist/components/grading/internal/QuestionManualScore.js +61 -0
  75. package/dist/components/grading/internal/QuestionManualScore.js.map +1 -0
  76. package/dist/components/grading/internal/QuestionScoresContainer.d.ts +10 -0
  77. package/dist/components/grading/internal/QuestionScoresContainer.d.ts.map +1 -0
  78. package/dist/components/grading/internal/QuestionScoresContainer.js +12 -0
  79. package/dist/components/grading/internal/QuestionScoresContainer.js.map +1 -0
  80. package/dist/components/results/Results2.d.ts +15 -0
  81. package/dist/components/results/Results2.d.ts.map +1 -0
  82. package/dist/components/results/Results2.js +79 -0
  83. package/dist/components/results/Results2.js.map +1 -0
  84. package/dist/components/results/internal/AnnotationList.js +1 -1
  85. package/dist/components/results/internal/AnnotationList.js.map +1 -1
  86. package/dist/editAnnotations.d.ts +2 -0
  87. package/dist/editAnnotations.d.ts.map +1 -0
  88. package/dist/editAnnotations.js +8 -0
  89. package/dist/editAnnotations.js.map +1 -0
  90. package/dist/editAnnotationsOld.d.ts +3 -0
  91. package/dist/editAnnotationsOld.d.ts.map +1 -0
  92. package/dist/editAnnotationsOld.js +340 -0
  93. package/dist/editAnnotationsOld.js.map +1 -0
  94. package/dist/index.d.ts +3 -1
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +2 -1
  97. package/dist/index.js.map +1 -1
  98. package/dist/main-bundle.js +1 -1
  99. package/dist/main.css +1 -1
  100. package/dist/renderAnnotations.d.ts +5 -1
  101. package/dist/renderAnnotations.d.ts.map +1 -1
  102. package/dist/renderAnnotations.js +52 -36
  103. package/dist/renderAnnotations.js.map +1 -1
  104. package/dist/url.d.ts +1 -1
  105. package/dist/url.js +1 -1
  106. package/package.json +2 -2
@@ -0,0 +1,43 @@
1
+ import * as _ from 'lodash-es';
2
+ import React, { useContext } from 'react';
3
+ import { getNumericAttribute } from '../../../dom-utils';
4
+ import { useExamTranslation } from '../../../i18n';
5
+ import { shortDisplayNumber } from '../../../shortDisplayNumber';
6
+ import { mapMaybe } from '../../../utils';
7
+ import { QuestionContext } from '../../context/QuestionContext';
8
+ import { findScore, ResultsContext } from '../../context/ResultsContext';
9
+ const hasAnnotations = (score) => { var _a, _b, _c, _d; return Boolean(((_b = (_a = score === null || score === void 0 ? void 0 : score.pregrading) === null || _a === void 0 ? void 0 : _a.annotations) === null || _b === void 0 ? void 0 : _b.length) || ((_d = (_c = score === null || score === void 0 ? void 0 : score.censoring) === null || _c === void 0 ? void 0 : _c.annotations) === null || _d === void 0 ? void 0 : _d.length)); };
10
+ const getPrefix = (answers, answer) => answers.length > 1 ? shortDisplayNumber(answer.getAttribute('display-number')) : '';
11
+ const AnnotationListComponent = ({ i18nTitleKey, annotations }) => {
12
+ const { t } = useExamTranslation();
13
+ return annotations ? (React.createElement(React.Fragment, null,
14
+ i18nTitleKey && React.createElement("h5", null, t(i18nTitleKey)),
15
+ React.createElement("ol", { className: "e-list-data e-pad-l-0 e-font-size-s" }, annotations.map(({ numbering, message }) => (React.createElement("li", { "data-list-number": numbering, key: numbering }, message)))))) : null;
16
+ };
17
+ function ResultsAnnotationList() {
18
+ const { answers } = useContext(QuestionContext);
19
+ const { scores, singleGrading } = useContext(ResultsContext);
20
+ const answersAndScores = mapMaybe(answers, (answer) => {
21
+ const questionId = getNumericAttribute(answer, 'question-id');
22
+ const score = findScore(scores, questionId);
23
+ return score && answer && hasAnnotations(score) ? [answer, score] : undefined;
24
+ });
25
+ const getListOfAnnotations = (answerElementAndScores, annotationsFrom, listNumberOffset = 0) => _.flatMap(answerElementAndScores, ([answer, score]) => {
26
+ var _a, _b, _c;
27
+ return (_c = (_b = (_a = score[annotationsFrom]) === null || _a === void 0 ? void 0 : _a.annotations) === null || _b === void 0 ? void 0 : _b.filter((a) => a.message.length).map((annotation, i) => {
28
+ const numbering = getPrefix(answers, answer) + String(listNumberOffset + i + 1) + ')';
29
+ const message = annotation.message;
30
+ return { numbering, message };
31
+ })) !== null && _c !== void 0 ? _c : [];
32
+ });
33
+ const pregradingAnnotations = getListOfAnnotations(answersAndScores, 'pregrading');
34
+ const censoringAnnotations = getListOfAnnotations(answersAndScores, 'censoring', pregradingAnnotations.length);
35
+ return pregradingAnnotations.length || censoringAnnotations.length ? (React.createElement("div", { className: "e-annotation-list e-columns e-mrg-t-2" }, singleGrading ? (React.createElement("div", { className: "e-column e-column--10" },
36
+ React.createElement(AnnotationListComponent, { annotations: pregradingAnnotations }))) : (React.createElement(React.Fragment, null,
37
+ React.createElement("div", { className: "e-column e-column--6" },
38
+ React.createElement(AnnotationListComponent, { i18nTitleKey: 'grading.pregrading-annotations', annotations: pregradingAnnotations })),
39
+ React.createElement("div", { className: "e-column e-column--6" },
40
+ React.createElement(AnnotationListComponent, { i18nTitleKey: 'grading.censor-annotations', annotations: censoringAnnotations })))))) : null;
41
+ }
42
+ export default React.memo(ResultsAnnotationList);
43
+ //# sourceMappingURL=AnnotationList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnnotationList.js","sourceRoot":"","sources":["../../../../src/components/grading/internal/AnnotationList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,WAAW,CAAA;AAC9B,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAYxE,MAAM,cAAc,GAAG,CAAC,KAAY,EAAE,EAAE,uBACtC,OAAA,OAAO,CAAC,CAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,0CAAE,WAAW,0CAAE,MAAM,MAAI,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,0CAAE,WAAW,0CAAE,MAAM,CAAA,CAAC,CAAA,EAAA,CAAA;AAE1F,MAAM,SAAS,GAAG,CAAC,OAAkB,EAAE,MAAe,EAAE,EAAE,CACxD,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAEtF,MAAM,uBAAuB,GAAG,CAAC,EAAE,YAAY,EAAE,WAAW,EAAuB,EAAE,EAAE;IACrF,MAAM,EAAE,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAElC,OAAO,WAAW,CAAC,CAAC,CAAC,CACnB;QACG,YAAY,IAAI,gCAAK,CAAC,CAAC,YAAY,CAAC,CAAM;QAC3C,4BAAI,SAAS,EAAC,qCAAqC,IAChD,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAC3C,gDAAsB,SAAS,EAAE,GAAG,EAAE,SAAS,IAC5C,OAAO,CACL,CACN,CAAC,CACC,CACJ,CACJ,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CAAA;AAED,SAAS,qBAAqB;IAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IAC/C,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IAE5D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QACpD,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,UAAW,CAAC,CAAA;QAE5C,OAAO,KAAK,IAAI,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,KAAK,CAAW,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1F,CAAC,CAAC,CAAA;IAEF,MAAM,oBAAoB,GAAG,CAC3B,sBAAwD,EACxD,eAA2C,EAC3C,gBAAgB,GAAG,CAAC,EACpB,EAAE,CACF,CAAC,CAAC,OAAO,CACP,sBAAsB,EACtB,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE;;QAClB,OAAA,MAAA,MAAA,MAAA,KAAK,CAAC,eAAe,CAAC,0CAAE,WAAW,0CAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAC/B,GAAG,CAAC,CAAC,UAAsB,EAAE,CAAS,EAAE,EAAE;YACzC,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;YACrF,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;YAClC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;QAC/B,CAAC,CAAC,mCAAI,EAAE,CAAA;KAAA,CACb,CAAA;IAEH,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAA;IAClF,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,WAAW,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAE9G,OAAO,qBAAqB,CAAC,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CACnE,6BAAK,SAAS,EAAC,uCAAuC,IACnD,aAAa,CAAC,CAAC,CAAC,CACf,6BAAK,SAAS,EAAC,uBAAuB;QACpC,oBAAC,uBAAuB,IAAC,WAAW,EAAE,qBAAqB,GAAI,CAC3D,CACP,CAAC,CAAC,CAAC,CACF;QACE,6BAAK,SAAS,EAAC,sBAAsB;YACnC,oBAAC,uBAAuB,IACtB,YAAY,EAAE,gCAAgC,EAC9C,WAAW,EAAE,qBAAqB,GAClC,CACE;QACN,6BAAK,SAAS,EAAC,sBAAsB;YACnC,oBAAC,uBAAuB,IAAC,YAAY,EAAE,4BAA4B,EAAE,WAAW,EAAE,oBAAoB,GAAI,CACtG,CACL,CACJ,CACG,CACP,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ export interface QuestionAutoScoreProps {
3
+ score?: number;
4
+ maxScore?: number;
5
+ displayNumber?: string;
6
+ }
7
+ declare function QuestionAutoScore({ score, maxScore, displayNumber }: QuestionAutoScoreProps): JSX.Element;
8
+ declare const _default: React.MemoExoticComponent<typeof QuestionAutoScore>;
9
+ export default _default;
10
+ //# sourceMappingURL=QuestionAutoScore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestionAutoScore.d.ts","sourceRoot":"","sources":["../../../../src/components/grading/internal/QuestionAutoScore.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAKzC,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,iBAAS,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,sBAAsB,eAUpF;;AAED,wBAA4C"}
@@ -0,0 +1,17 @@
1
+ import React, { useContext } from 'react';
2
+ import { useExamTranslation } from '../../../i18n';
3
+ import { QuestionContext } from '../../context/QuestionContext';
4
+ import ResultsExamQuestionScoresContainer from './QuestionScoresContainer';
5
+ function QuestionAutoScore({ score, maxScore, displayNumber }) {
6
+ const { answers } = useContext(QuestionContext);
7
+ const { t } = useExamTranslation();
8
+ const containerProps = { answers, displayNumber };
9
+ return (React.createElement(ResultsExamQuestionScoresContainer, { ...containerProps },
10
+ typeof score === 'number' ? React.createElement("b", null, score) : React.createElement("div", { className: "e-result-scorecount-empty" }),
11
+ ' ',
12
+ maxScore ? `/ ${maxScore} ` : null,
13
+ " ",
14
+ t('points', { count: '' })));
15
+ }
16
+ export default React.memo(QuestionAutoScore);
17
+ //# sourceMappingURL=QuestionAutoScore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestionAutoScore.js","sourceRoot":"","sources":["../../../../src/components/grading/internal/QuestionAutoScore.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,kCAAkC,MAAM,2BAA2B,CAAA;AAQ1E,SAAS,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAA0B;IACnF,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IAC/C,MAAM,EAAE,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAClC,MAAM,cAAc,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,CAAA;IACjD,OAAO,CACL,oBAAC,kCAAkC,OAAK,cAAc;QACnD,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,+BAAI,KAAK,CAAK,CAAC,CAAC,CAAC,6BAAK,SAAS,EAAC,2BAA2B,GAAG;QAAE,GAAG;QAC/F,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI;;QAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAmB,EAAE,CAAC,CAC9C,CACtC,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { Score } from '../../../index';
3
+ export interface QuestionManualScoreProps {
4
+ scores?: Score;
5
+ maxScore?: number;
6
+ displayNumber?: string;
7
+ multilineAnswer?: boolean;
8
+ }
9
+ declare function QuestionManualScore({ scores, maxScore, displayNumber, multilineAnswer }: QuestionManualScoreProps): JSX.Element;
10
+ declare const _default: React.MemoExoticComponent<typeof QuestionManualScore>;
11
+ export default _default;
12
+ //# sourceMappingURL=QuestionManualScore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestionManualScore.d.ts","sourceRoot":"","sources":["../../../../src/components/grading/internal/QuestionManualScore.tsx"],"names":[],"mappings":"AACA,OAAO,KAAqB,MAAM,OAAO,CAAA;AACzC,OAAO,EAAoD,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAKxF,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAQD,iBAAS,mBAAmB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,wBAAwB,eAiB1G;;AAoFD,wBAA8C"}
@@ -0,0 +1,61 @@
1
+ import classNames from 'classnames';
2
+ import React, { useContext } from 'react';
3
+ import { useExamTranslation } from '../../../i18n';
4
+ import { QuestionContext } from '../../context/QuestionContext';
5
+ import ResultsExamQuestionScoresContainer from './QuestionScoresContainer';
6
+ function QuestionManualScore({ scores, maxScore, displayNumber, multilineAnswer }) {
7
+ var _a, _b, _c, _d, _e;
8
+ const { answers } = useContext(QuestionContext);
9
+ const containerProps = { answers, displayNumber, multilineAnswer };
10
+ const shortCode = (_b = (_a = scores === null || scores === void 0 ? void 0 : scores.censoring) === null || _a === void 0 ? void 0 : _a.nonAnswerDetails) === null || _b === void 0 ? void 0 : _b.shortCode;
11
+ return (React.createElement(ResultsExamQuestionScoresContainer, { ...containerProps }, ((_c = scores === null || scores === void 0 ? void 0 : scores.pregrading) === null || _c === void 0 ? void 0 : _c.score) == null && !((_e = (_d = scores === null || scores === void 0 ? void 0 : scores.censoring) === null || _d === void 0 ? void 0 : _d.scores) === null || _e === void 0 ? void 0 : _e.length) ? (React.createElement(NoPregrading, { ...{ maxScore } })) : (React.createElement(React.Fragment, null,
12
+ renderNormalizedScores(scores, maxScore),
13
+ shortCode && React.createElement(NonAnswer, { shortCode: shortCode })))));
14
+ }
15
+ function renderNormalizedScores(scores, maxScore) {
16
+ const normalizedScores = [
17
+ scores.inspection && normalizeInspectionScore(scores.inspection),
18
+ ...(scores.censoring ? normalizeCensoringScores(scores.censoring) : []),
19
+ scores.pregrading && normalizePregradingScore(scores.pregrading),
20
+ ].filter(Boolean);
21
+ return normalizedScores.map((score, i) => React.createElement(ScoreRow, { key: i, ...score, latest: i === 0, maxScore: maxScore }));
22
+ }
23
+ function NoPregrading({ maxScore }) {
24
+ const { t } = useExamTranslation();
25
+ return (React.createElement(React.Fragment, null,
26
+ React.createElement("span", { className: "e-result-scorecount-empty" }),
27
+ maxScore && ` / ${maxScore} `,
28
+ t('points', { count: '' })));
29
+ }
30
+ function NonAnswer({ shortCode }) {
31
+ return (React.createElement("div", { className: "e-color-darkgrey e-columns e-columns--center-v" },
32
+ React.createElement("span", { className: "e-font-size-xxxl e-light e-mrg-r-1" }, "\u00D7"),
33
+ React.createElement("span", null, shortCode)));
34
+ }
35
+ function ScoreRow({ score, shortCode, type, maxScore, latest }) {
36
+ return (React.createElement("div", { className: latest ? 'e-color-black' : 'e-color-darkgrey e-font-size-xs' },
37
+ React.createElement(ScoreColumn, { className: classNames('e-nowrap', { 'e-font-size-m': latest }) },
38
+ latest ? React.createElement("b", null, score) : score,
39
+ latest && maxScore ? ` / ${maxScore}` : '',
40
+ ` p.`),
41
+ React.createElement(ScoreColumn, { className: "e-result-scorecount-shortcode" }, shortCode),
42
+ React.createElement(ScoreColumn, { className: "e-mrg-r-0" }, type)));
43
+ }
44
+ function ScoreColumn({ className, children }) {
45
+ return React.createElement("span", { className: classNames('e-mrg-r-1 e-nowrap', className) }, children);
46
+ }
47
+ function normalizePregradingScore({ score }) {
48
+ return score !== undefined ? { score, shortCode: '', type: 'va' } : null;
49
+ }
50
+ function normalizeCensoringScores(score) {
51
+ return score.scores.map((s, i) => ({
52
+ score: s.score,
53
+ shortCode: s.shortCode || '',
54
+ type: `${score.scores.length - i}.s`,
55
+ }));
56
+ }
57
+ function normalizeInspectionScore(score) {
58
+ return { score: score.score, shortCode: score.shortCodes ? score.shortCodes.join(', ') : '', type: 'ta' };
59
+ }
60
+ export default React.memo(QuestionManualScore);
61
+ //# sourceMappingURL=QuestionManualScore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestionManualScore.js","sourceRoot":"","sources":["../../../../src/components/grading/internal/QuestionManualScore.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ declare function QuestionScoresContainer({ answers, displayNumber, children, multilineAnswer, }: {
3
+ answers: Element[];
4
+ displayNumber?: string;
5
+ children: React.ReactNode;
6
+ multilineAnswer?: boolean;
7
+ }): JSX.Element;
8
+ declare const _default: React.MemoExoticComponent<typeof QuestionScoresContainer>;
9
+ export default _default;
10
+ //# sourceMappingURL=QuestionScoresContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestionScoresContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/grading/internal/QuestionScoresContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,iBAAS,uBAAuB,CAAC,EAC/B,OAAO,EACP,aAAa,EACb,QAAQ,EACR,eAAe,GAChB,EAAE;IACD,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,eAiBA;;AAED,wBAAkD"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import classnames from 'classnames';
3
+ function QuestionScoresContainer({ answers, displayNumber, children, multilineAnswer, }) {
4
+ return (React.createElement("div", { className: classnames('e-result-scorecount', 'e-float-right', {
5
+ 'e-result-scorecount-multiline-answer': multilineAnswer,
6
+ }) },
7
+ React.createElement("div", { className: "e-result-scorecount-border-wrap" },
8
+ answers.length > 1 && displayNumber && (React.createElement("sup", { className: "e-result-scorecount-sup e-mrg-r-1", "aria-hidden": "true" }, displayNumber)),
9
+ children)));
10
+ }
11
+ export default React.memo(QuestionScoresContainer);
12
+ //# sourceMappingURL=QuestionScoresContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestionScoresContainer.js","sourceRoot":"","sources":["../../../../src/components/grading/internal/QuestionScoresContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,SAAS,uBAAuB,CAAC,EAC/B,OAAO,EACP,aAAa,EACb,QAAQ,EACR,eAAe,GAMhB;IACC,OAAO,CACL,6BACE,SAAS,EAAE,UAAU,CAAC,qBAAqB,EAAE,eAAe,EAAE;YAC5D,sCAAsC,EAAE,eAAe;SACxD,CAAC;QAEF,6BAAK,SAAS,EAAC,iCAAiC;YAC7C,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,IAAI,CACtC,6BAAK,SAAS,EAAC,mCAAmC,iBAAa,MAAM,IAClE,aAAa,CACV,CACP;YACA,QAAQ,CACL,CACF,CACP,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { GradingStructure, Score } from '../..';
3
+ import { CommonExamProps } from '../exam/Exam';
4
+ export interface ResultsProps extends CommonExamProps {
5
+ /** Contains grading structure for the exam, and in addition scores and metadata (comments and annotations) */
6
+ gradingStructure: GradingStructure;
7
+ /** Custom grading text to be displayed for the whole exam. For example total grade for the exam. */
8
+ gradingText?: string;
9
+ /** Scores for exam answers */
10
+ scores: Score[];
11
+ singleGrading?: boolean;
12
+ }
13
+ declare const _default: React.MemoExoticComponent<React.ComponentType<any>>;
14
+ export default _default;
15
+ //# sourceMappingURL=Results2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Results2.d.ts","sourceRoot":"","sources":["../../../src/components/results/Results2.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAU/C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAgB9C,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,8GAA8G;IAC9G,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,oGAAoG;IACpG,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,8BAA8B;IAC9B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;;AAgFD,wBAA8E"}
@@ -0,0 +1,79 @@
1
+ import React, { useContext, useEffect } from 'react';
2
+ import { I18nextProvider } from 'react-i18next';
3
+ import { createRenderChildNodes } from '../../createRenderChildNodes';
4
+ import { findChildElement, queryAncestors } from '../../dom-utils';
5
+ import { changeLanguage, initI18n, useExamTranslation } from '../../i18n';
6
+ import { scrollToHash } from '../../scrollToHash';
7
+ import { useCached } from '../../useCached';
8
+ import mkAttachmentLink from '../shared/AttachmentLink';
9
+ import mkAttachmentLinks from '../shared/AttachmentLinks';
10
+ import { CommonExamContext, withCommonExamContext } from '../context/CommonExamContext';
11
+ import DocumentTitle from '../DocumentTitle';
12
+ import ExamQuestionInstruction from '../exam/QuestionInstruction';
13
+ import ExamSectionTitle from '../exam/SectionTitle';
14
+ import Formula from '../shared/Formula';
15
+ import Image from '../shared/Image';
16
+ import RenderChildNodes from '../RenderChildNodes';
17
+ import { renderIf } from '../RenderIf';
18
+ import ResultsChoiceAnswer from './ChoiceAnswer';
19
+ import { ResultsContext, withResultsContext } from '../context/ResultsContext';
20
+ import DropdownAnswer from './DropdownAnswer';
21
+ import Question from './Question';
22
+ import QuestionTitle from './QuestionTitle';
23
+ import Section from './Section';
24
+ import ScoredTextAnswer from './ScoredTextAnswer';
25
+ import TextAnswer from './TextAnswer';
26
+ const renderChildNodes = createRenderChildNodes({
27
+ attachment: RenderChildNodes,
28
+ 'attachment-link': mkAttachmentLink('plain'),
29
+ 'attachment-links': mkAttachmentLinks('plain'),
30
+ 'audio-group': RenderChildNodes,
31
+ 'choice-answer': ResultsChoiceAnswer,
32
+ 'dropdown-answer': DropdownAnswer,
33
+ formula: Formula,
34
+ question: Question,
35
+ hints: RenderChildNodes,
36
+ image: renderIf(({ element }) => queryAncestors(element, 'choice-answer') != null)(Image),
37
+ 'question-instruction': ExamQuestionInstruction,
38
+ 'question-title': QuestionTitle,
39
+ section: Section,
40
+ 'section-title': ExamSectionTitle,
41
+ 'text-answer': TextAnswer,
42
+ 'scored-text-answer': ScoredTextAnswer,
43
+ 'scored-text-answers': RenderChildNodes,
44
+ });
45
+ const Results2 = () => {
46
+ const { date, dateTimeFormatter, dayCode, examCode, language, resolveAttachment, root, subjectLanguage } = useContext(CommonExamContext);
47
+ const examTitle = findChildElement(root, 'exam-title');
48
+ const examStylesheet = root.getAttribute('exam-stylesheet');
49
+ const i18n = useCached(() => initI18n(language, examCode, dayCode));
50
+ useEffect(changeLanguage(i18n, language));
51
+ useEffect(scrollToHash, []);
52
+ return (React.createElement(I18nextProvider, { i18n: i18n },
53
+ "LOLBAL",
54
+ React.createElement("main", { className: "e-exam", lang: subjectLanguage },
55
+ React.createElement(React.StrictMode, null),
56
+ examStylesheet && React.createElement("link", { rel: "stylesheet", href: resolveAttachment(examStylesheet) }),
57
+ React.createElement("div", { className: "e-columns e-columns--bottom-v e-mrg-b-4" },
58
+ "OTSIKKO",
59
+ examTitle && (React.createElement(DocumentTitle, { id: "title", className: "e-column e-mrg-b-0" },
60
+ renderChildNodes(examTitle),
61
+ date && ', ' + dateTimeFormatter.format(date))),
62
+ React.createElement(ScoresAndFinalGrade, null)),
63
+ renderChildNodes(root))));
64
+ };
65
+ function ScoresAndFinalGrade() {
66
+ const { gradingText, totalScore } = useContext(ResultsContext);
67
+ const { t } = useExamTranslation();
68
+ return (React.createElement("div", { className: "e-column--narrow" },
69
+ React.createElement("table", { className: "e-table e-table--borderless e-mrg-b-0" },
70
+ React.createElement("tbody", null,
71
+ React.createElement("tr", null,
72
+ React.createElement("th", { className: "e-pad-y-0 e-normal" }, t('grading-total')),
73
+ React.createElement("td", { className: "e-pad-y-0 e-semibold e-text-right" }, t('points', { count: totalScore }))),
74
+ gradingText && (React.createElement("tr", null,
75
+ React.createElement("th", { className: "e-pad-y-0 e-normal" }, t('grade')),
76
+ React.createElement("td", { className: "e-pad-y-0 e-semibold e-text-right" }, gradingText)))))));
77
+ }
78
+ export default React.memo(withResultsContext(withCommonExamContext(Results2)));
79
+ //# sourceMappingURL=Results2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Results2.js","sourceRoot":"","sources":["../../../src/components/results/Results2.tsx"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ const AnnotationListComponent = ({ i18nTitleKey, annotations }) => {
17
17
  function ResultsAnnotationList() {
18
18
  const { answers } = useContext(QuestionContext);
19
19
  const { scores, singleGrading } = useContext(ResultsContext);
20
- const answersAndScores = mapMaybe(answers, (answer) => {
20
+ const answersAndScores = mapMaybe(answers || [], (answer) => {
21
21
  const questionId = getNumericAttribute(answer, 'question-id');
22
22
  const score = findScore(scores, questionId);
23
23
  return score && answer && hasAnnotations(score) ? [answer, score] : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"AnnotationList.js","sourceRoot":"","sources":["../../../../src/components/results/internal/AnnotationList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnnotationList.js","sourceRoot":"","sources":["../../../../src/components/results/internal/AnnotationList.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function setupAnnotationEditing(answerElement: Element): void;
2
+ //# sourceMappingURL=editAnnotations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editAnnotations.d.ts","sourceRoot":"","sources":["../src/editAnnotations.ts"],"names":[],"mappings":"AAAA,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,OAAO,QAM5D"}
@@ -0,0 +1,8 @@
1
+ export function setupAnnotationEditing(answerElement) {
2
+ answerElement.addEventListener('mouseup', (e) => {
3
+ console.log('target', e.target);
4
+ const selection = window.getSelection();
5
+ console.log(selection);
6
+ });
7
+ }
8
+ //# sourceMappingURL=editAnnotations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editAnnotations.js","sourceRoot":"","sources":["../src/editAnnotations.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,sBAAsB,CAAC,aAAsB;IAC3D,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;QAC9C,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAA;QACvC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export function setupAnnotationEditing($containerElement: any, saveAnnotation: any, localize: any, isCensor: any): void;
2
+ export function setupAnnotationDisplaying($answers: any, isCensor: any): void;
3
+ //# sourceMappingURL=editAnnotationsOld.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editAnnotationsOld.d.ts","sourceRoot":"","sources":["../src/editAnnotationsOld.js"],"names":[],"mappings":"AAUA,wHA6PC;AAED,8EAqGC"}