@digabi/exam-engine-core 19.8.11 → 19.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"Question.d.ts","sourceRoot":"","sources":["../../../src/components/exam/Question.tsx"],"names":[],"mappings":"AACA,OAAO,KAAyD,MAAM,OAAO,CAAA;AAU7E,eAAO,MAAM,qBAAqB;cACtB,OAAO;0BACK,OAAO,KAAK,IAAI;EACkB,CAAA;;AA8D1D,wBAAwD"}
1
+ {"version":3,"file":"Question.d.ts","sourceRoot":"","sources":["../../../src/components/exam/Question.tsx"],"names":[],"mappings":"AACA,OAAO,KAAyD,MAAM,OAAO,CAAA;AAW7E,eAAO,MAAM,qBAAqB;cACtB,OAAO;0BACK,OAAO,KAAK,IAAI;EACkB,CAAA;;AAsE1D,wBAAwD"}
@@ -6,6 +6,7 @@ import { SectionContext } from '../context/SectionContext';
6
6
  import { faCompressAlt } from '@fortawesome/free-solid-svg-icons';
7
7
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
8
8
  import { useExamTranslation } from '../../i18n';
9
+ import { getNumericAttribute, query } from '../../dom-utils';
9
10
  export const ExpandQuestionContext = createContext({ expanded: false, toggleWriterMode: () => undefined });
10
11
  function Question({ element, renderChildNodes }) {
11
12
  const casStatus = useSelector((state) => state.cas.casStatus);
@@ -25,16 +26,23 @@ function Question({ element, renderChildNodes }) {
25
26
  setTimeout(() => { var _a; return (_a = document.getElementById(`question-nr-${displayNumber}`)) === null || _a === void 0 ? void 0 : _a.scrollIntoView(); }, 10);
26
27
  }
27
28
  };
28
- const handleEsc = (e) => {
29
- if (e.key === 'Escape' || e.code === 'Escape') {
29
+ const escapeKeys = ['Escape', 'Tab'];
30
+ const handleCloseView = (e) => {
31
+ if (escapeKeys.includes(e.key) || escapeKeys.includes(e.code)) {
30
32
  toggleWriterMode(false);
31
33
  }
32
34
  };
35
+ const textAnswerElement = query(element, 'text-answer');
36
+ const questionId = textAnswerElement ? getNumericAttribute(textAnswerElement, 'question-id') : null;
33
37
  useEffect(() => {
34
38
  if (expanded) {
35
- window.addEventListener('keydown', handleEsc);
39
+ window.addEventListener('keydown', handleCloseView);
40
+ const textInput = questionId
41
+ ? document.querySelector(`[data-question-id="${questionId}"]`)
42
+ : undefined;
43
+ textInput === null || textInput === void 0 ? void 0 : textInput.focus();
36
44
  }
37
- return () => window.removeEventListener('keydown', handleEsc);
45
+ return () => window.removeEventListener('keydown', handleCloseView);
38
46
  }, [expanded]);
39
47
  return !casForbidden || casStatus === 'forbidden' ? (React.createElement(ExpandQuestionContext.Provider, { value: { expanded, toggleWriterMode } },
40
48
  React.createElement("div", { className: classNames('e-exam-question', {
@@ -1 +1 @@
1
- {"version":3,"file":"Question.js","sourceRoot":"","sources":["../../../src/components/exam/Question.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Question.js","sourceRoot":"","sources":["../../../src/components/exam/Question.tsx"],"names":[],"mappings":"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"}