@digabi/exam-engine-core 23.27.0-alpha.0 → 23.27.0
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/dist/components/exam/internal/ErrorIndicator.d.ts +5 -1
- package/dist/components/exam/internal/ErrorIndicator.d.ts.map +1 -1
- package/dist/components/exam/internal/ErrorIndicator.js +17 -1
- package/dist/components/exam/internal/ErrorIndicator.js.map +1 -1
- package/dist/components/exam/internal/SaveIndicator.d.ts.map +1 -1
- package/dist/components/exam/internal/SaveIndicator.js +3 -2
- package/dist/components/exam/internal/SaveIndicator.js.map +1 -1
- package/dist/main-bundle.js +2 -2
- package/package.json +2 -2
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ValidationError } from '../../../validateAnswers';
|
|
3
|
+
interface SaveFailedTooLong {
|
|
4
|
+
type: 'SaveFailedTooLong';
|
|
5
|
+
displayNumber: string;
|
|
6
|
+
}
|
|
3
7
|
export declare function ErrorIndicatorForErrors({ validationErrors, inExam }: {
|
|
4
|
-
validationErrors: ValidationError[];
|
|
8
|
+
validationErrors: (ValidationError | SaveFailedTooLong)[];
|
|
5
9
|
inExam: boolean;
|
|
6
10
|
}): React.JSX.Element | null;
|
|
7
11
|
declare const _default: React.NamedExoticComponent<{}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorIndicator.d.ts","sourceRoot":"","sources":["../../../../src/components/exam/internal/ErrorIndicator.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAIzC,OAAO,EAA8B,eAAe,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"ErrorIndicator.d.ts","sourceRoot":"","sources":["../../../../src/components/exam/internal/ErrorIndicator.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAIzC,OAAO,EAA8B,eAAe,EAAE,MAAM,0BAA0B,CAAA;AA4BtF,UAAU,iBAAiB;IACzB,IAAI,EAAE,mBAAmB,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;CACtB;AAOD,wBAAgB,uBAAuB,CAAC,EACtC,gBAAgB,EAChB,MAAM,EACP,EAAE;IACD,gBAAgB,EAAE,CAAC,eAAe,GAAG,iBAAiB,CAAC,EAAE,CAAA;IACzD,MAAM,EAAE,OAAO,CAAA;CAChB,4BA+BA;;AA0CD,wBAAyC"}
|
|
@@ -24,6 +24,10 @@ const AnswerTooLongError = ({ displayNumber, characterCount }) => {
|
|
|
24
24
|
" ",
|
|
25
25
|
t('answer-errors.answer-too-long', { count: characterCount })));
|
|
26
26
|
};
|
|
27
|
+
const SaveFailedTooLongError = ({ displayNumber }) => {
|
|
28
|
+
const { t } = useExamTranslation();
|
|
29
|
+
return React.createElement("div", null, t('answer-errors.save-failed-too-long', { displayNumber }));
|
|
30
|
+
};
|
|
27
31
|
export function ErrorIndicatorForErrors({ validationErrors, inExam }) {
|
|
28
32
|
return validationErrors.length > 0 ? (React.createElement("dialog", { open: true, className: classNames({
|
|
29
33
|
'error-indicator-active e-bg-color-error e-color-off-white': inExam,
|
|
@@ -34,6 +38,8 @@ export function ErrorIndicatorForErrors({ validationErrors, inExam }) {
|
|
|
34
38
|
React.createElement("div", { className: "e-column e-column--gapless" }, validationErrors.map(validationError => {
|
|
35
39
|
const key = validationError.type + validationError.displayNumber;
|
|
36
40
|
switch (validationError.type) {
|
|
41
|
+
case 'SaveFailedTooLong':
|
|
42
|
+
return React.createElement(SaveFailedTooLongError, { ...validationError, key });
|
|
37
43
|
case 'ExtraAnswer':
|
|
38
44
|
return React.createElement(ExtraAnswerError, { ...validationError, key });
|
|
39
45
|
default:
|
|
@@ -41,8 +47,18 @@ export function ErrorIndicatorForErrors({ validationErrors, inExam }) {
|
|
|
41
47
|
}
|
|
42
48
|
})))) : null;
|
|
43
49
|
}
|
|
50
|
+
const mergeErrors = (state) => {
|
|
51
|
+
const saveFailedErrors = [...state.answerTooLongFailures].flatMap(questionId => {
|
|
52
|
+
var _a;
|
|
53
|
+
const displayNumber = (_a = state.answersById[questionId]) === null || _a === void 0 ? void 0 : _a.displayNumber;
|
|
54
|
+
return displayNumber != null ? [{ type: 'SaveFailedTooLong', displayNumber }] : [];
|
|
55
|
+
});
|
|
56
|
+
// Prioritize save failed errors; filter out validation errors if there's a save failed error for the same question.
|
|
57
|
+
const otherErrors = state.validationErrors.filter(error => !saveFailedErrors.some(saveFailedError => saveFailedError.displayNumber === error.displayNumber));
|
|
58
|
+
return [...otherErrors, ...saveFailedErrors];
|
|
59
|
+
};
|
|
44
60
|
const ErrorIndicator = () => {
|
|
45
|
-
const validationErrors = useSelector((state) => state.answers
|
|
61
|
+
const validationErrors = useSelector((state) => mergeErrors(state.answers));
|
|
46
62
|
return React.createElement(ErrorIndicatorForErrors, { validationErrors: validationErrors, inExam: true });
|
|
47
63
|
};
|
|
48
64
|
const FallbackTitle = ({ elementType, displayNumber }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorIndicator.js","sourceRoot":"","sources":["../../../../src/components/exam/internal/ErrorIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,qBAAqB,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAEnE,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,MAAM,gBAAgB,GAAyC,KAAK,CAAC,EAAE;IACrE,MAAM,EAAE,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAClC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;IAC5C,OAAO,CACL;QACG,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,aAAa;YACtD,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,CAAC,IAAI,oBAAC,aAAa,OAAK,KAAK,GAAI;YACnE,CAAC,CAAC,EAAE;QAAE,GAAG;QACV,oBAAC,qBAAqB,OAAK,KAAK,GAAI,CACjC,CACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,kBAAkB,GAA2C,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE,EAAE,EAAE;IACvG,MAAM,EAAE,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAClC,OAAO,CACL;QACG,CAAC,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,CAAC;;QAAG,CAAC,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAC7F,CACP,CAAA;AACH,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"ErrorIndicator.js","sourceRoot":"","sources":["../../../../src/components/exam/internal/ErrorIndicator.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveIndicator.d.ts","sourceRoot":"","sources":["../../../../src/components/exam/internal/SaveIndicator.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,iBAAS,aAAa,
|
|
1
|
+
{"version":3,"file":"SaveIndicator.d.ts","sourceRoot":"","sources":["../../../../src/components/exam/internal/SaveIndicator.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,iBAAS,aAAa,6BAcrB;;AAED,wBAAwC"}
|
|
@@ -7,10 +7,11 @@ function SaveIndicator() {
|
|
|
7
7
|
const state = useSelector(getSaveState);
|
|
8
8
|
const tooLongFailureDisplayNumber = useSelector(getAnyAnswerTooLongFailure);
|
|
9
9
|
const { t } = useExamTranslation();
|
|
10
|
-
if (state === 'initial'
|
|
10
|
+
if (state === 'initial' || tooLongFailureDisplayNumber) {
|
|
11
11
|
return null;
|
|
12
12
|
}
|
|
13
|
-
return (React.createElement("dialog", { open: true, className: "save-indicator e-pad-1 e-font-size-xs" },
|
|
13
|
+
return (React.createElement("dialog", { open: true, className: "save-indicator e-pad-1 e-font-size-xs" },
|
|
14
|
+
React.createElement("span", { className: classNames('save-indicator-text', `save-indicator-text--${state}`) }, t('answer-saved'))));
|
|
14
15
|
}
|
|
15
16
|
export default React.memo(SaveIndicator);
|
|
16
17
|
//# sourceMappingURL=SaveIndicator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveIndicator.js","sourceRoot":"","sources":["../../../../src/components/exam/internal/SaveIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,0BAA0B,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEnF,SAAS,aAAa;IACpB,MAAM,KAAK,GAAc,WAAW,CAAC,YAAY,CAAC,CAAA;IAClD,MAAM,2BAA2B,GAAG,WAAW,CAAC,0BAA0B,CAAC,CAAA;IAC3E,MAAM,EAAE,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAElC,IAAI,KAAK,KAAK,SAAS,IAAI,
|
|
1
|
+
{"version":3,"file":"SaveIndicator.js","sourceRoot":"","sources":["../../../../src/components/exam/internal/SaveIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,0BAA0B,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEnF,SAAS,aAAa;IACpB,MAAM,KAAK,GAAc,WAAW,CAAC,YAAY,CAAC,CAAA;IAClD,MAAM,2BAA2B,GAAG,WAAW,CAAC,0BAA0B,CAAC,CAAA;IAC3E,MAAM,EAAE,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAElC,IAAI,KAAK,KAAK,SAAS,IAAI,2BAA2B,EAAE,CAAC;QACvD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,gCAAQ,IAAI,QAAC,SAAS,EAAC,uCAAuC;QAC5D,8BAAM,SAAS,EAAE,UAAU,CAAC,qBAAqB,EAAE,wBAAwB,KAAK,EAAE,CAAC,IAAG,CAAC,CAAC,cAAc,CAAC,CAAQ,CACxG,CACV,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA"}
|