@roqua/quby-frontend 0.3.0 → 0.4.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.
Files changed (94) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +4 -0
  3. package/lib/components/AnswerPage.d.ts.map +1 -1
  4. package/lib/components/AnswerPage.js +49 -12
  5. package/lib/components/AnswerPage.js.map +1 -1
  6. package/lib/components/Paginator.d.ts +3 -1
  7. package/lib/components/Paginator.d.ts.map +1 -1
  8. package/lib/components/Paginator.js +11 -8
  9. package/lib/components/Paginator.js.map +1 -1
  10. package/lib/components/PanelContent.d.ts +1 -0
  11. package/lib/components/PanelContent.d.ts.map +1 -1
  12. package/lib/components/PanelContent.js +2 -2
  13. package/lib/components/PanelContent.js.map +1 -1
  14. package/lib/components/PanelItem.d.ts +1 -0
  15. package/lib/components/PanelItem.d.ts.map +1 -1
  16. package/lib/components/PanelItem.js +1 -1
  17. package/lib/components/PanelItem.js.map +1 -1
  18. package/lib/components/QuestionDescription.d.ts +1 -1
  19. package/lib/components/QuestionDescription.d.ts.map +1 -1
  20. package/lib/components/QuestionDescription.js +2 -0
  21. package/lib/components/QuestionDescription.js.map +1 -1
  22. package/lib/components/QuestionWrapper.d.ts +3 -2
  23. package/lib/components/QuestionWrapper.d.ts.map +1 -1
  24. package/lib/components/QuestionWrapper.js +20 -3
  25. package/lib/components/QuestionWrapper.js.map +1 -1
  26. package/lib/components/ValidationErrors.js +15 -2
  27. package/lib/components/ValidationErrors.js.map +1 -1
  28. package/lib/components/items/QuestionItem.d.ts +1 -0
  29. package/lib/components/items/QuestionItem.d.ts.map +1 -1
  30. package/lib/components/items/QuestionItem.js +11 -11
  31. package/lib/components/items/QuestionItem.js.map +1 -1
  32. package/lib/components/questions/CheckBoxQuestion.d.ts +1 -0
  33. package/lib/components/questions/CheckBoxQuestion.d.ts.map +1 -1
  34. package/lib/components/questions/CheckBoxQuestion.js +9 -7
  35. package/lib/components/questions/CheckBoxQuestion.js.map +1 -1
  36. package/lib/components/questions/DatePartsQuestion.d.ts +1 -0
  37. package/lib/components/questions/DatePartsQuestion.d.ts.map +1 -1
  38. package/lib/components/questions/DatePartsQuestion.js +4 -4
  39. package/lib/components/questions/DatePartsQuestion.js.map +1 -1
  40. package/lib/components/questions/FloatQuestion.d.ts +2 -1
  41. package/lib/components/questions/FloatQuestion.d.ts.map +1 -1
  42. package/lib/components/questions/FloatQuestion.js +3 -3
  43. package/lib/components/questions/FloatQuestion.js.map +1 -1
  44. package/lib/components/questions/IntegerQuestion.d.ts +2 -1
  45. package/lib/components/questions/IntegerQuestion.d.ts.map +1 -1
  46. package/lib/components/questions/IntegerQuestion.js +3 -3
  47. package/lib/components/questions/IntegerQuestion.js.map +1 -1
  48. package/lib/components/questions/RadioQuestion.d.ts +1 -0
  49. package/lib/components/questions/RadioQuestion.d.ts.map +1 -1
  50. package/lib/components/questions/RadioQuestion.js +8 -6
  51. package/lib/components/questions/RadioQuestion.js.map +1 -1
  52. package/lib/components/questions/ScaleQuestion.d.ts +3 -2
  53. package/lib/components/questions/ScaleQuestion.d.ts.map +1 -1
  54. package/lib/components/questions/ScaleQuestion.js +7 -7
  55. package/lib/components/questions/ScaleQuestion.js.map +1 -1
  56. package/lib/components/questions/SelectQuestion.d.ts +1 -0
  57. package/lib/components/questions/SelectQuestion.d.ts.map +1 -1
  58. package/lib/components/questions/SelectQuestion.js +8 -4
  59. package/lib/components/questions/SelectQuestion.js.map +1 -1
  60. package/lib/components/questions/SliderQuestion.d.ts +1 -0
  61. package/lib/components/questions/SliderQuestion.d.ts.map +1 -1
  62. package/lib/components/questions/SliderQuestion.js +6 -6
  63. package/lib/components/questions/SliderQuestion.js.map +1 -1
  64. package/lib/components/questions/StringQuestion.d.ts +1 -0
  65. package/lib/components/questions/StringQuestion.d.ts.map +1 -1
  66. package/lib/components/questions/StringQuestion.js +4 -3
  67. package/lib/components/questions/StringQuestion.js.map +1 -1
  68. package/lib/components/questions/TextareaQuestion.d.ts +1 -0
  69. package/lib/components/questions/TextareaQuestion.d.ts.map +1 -1
  70. package/lib/components/questions/TextareaQuestion.js +3 -3
  71. package/lib/components/questions/TextareaQuestion.js.map +1 -1
  72. package/lib/core/mock_helpers.d.ts +2 -2
  73. package/lib/core/mock_helpers.d.ts.map +1 -1
  74. package/lib/core/mock_helpers.js +4 -1
  75. package/lib/core/mock_helpers.js.map +1 -1
  76. package/lib/core/questionnaire.d.ts +1 -0
  77. package/lib/core/questionnaire.d.ts.map +1 -1
  78. package/lib/core/questionnaire.js +1 -0
  79. package/lib/core/questionnaire.js.map +1 -1
  80. package/lib/core/questionnaire_json.d.ts +45 -17
  81. package/lib/core/questionnaire_json.d.ts.map +1 -1
  82. package/lib/core/response.d.ts +13 -4
  83. package/lib/core/response.d.ts.map +1 -1
  84. package/lib/core/response.js +57 -7
  85. package/lib/core/response.js.map +1 -1
  86. package/lib/core/validators.d.ts +3 -4
  87. package/lib/core/validators.d.ts.map +1 -1
  88. package/lib/core/validators.js +4 -1
  89. package/lib/core/validators.js.map +1 -1
  90. package/lib/core/visibility_rules.d.ts.map +1 -1
  91. package/lib/core/visibility_rules.js +3 -5
  92. package/lib/core/visibility_rules.js.map +1 -1
  93. package/package.json +2 -1
  94. package/lib/assets/assets/quby/application.css +0 -5003
package/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ # 0.4.0
2
+
3
+ * Enabled strict mode for typescript, since it's way more relaxed otherwise then expected (e.g. allowing strings passed to number methods)
4
+ * Fixed a bunch of types based on ts complains.
5
+ * Changed options to children with a type and added a html-type.
6
+ * More specific option types for each question.
7
+ * Added placeholder functionality to select questions.
8
+ * Fixed script/fixture and added option to update all the questionnaire fixtures.
9
+
1
10
  # 0.3.0
2
11
 
3
12
  * Added date_parts question support
package/README.md CHANGED
@@ -1,3 +1,7 @@
1
+ # assumptions
2
+
3
+ * All questions are always validated (on load and on every change), errors are just ignored when an answer has not been touched or is hidden.
4
+
1
5
  # yarn build
2
6
 
3
7
  Generates the new compiled JS files.
@@ -1 +1 @@
1
- {"version":3,"file":"AnswerPage.d.ts","sourceRoot":"","sources":["../../src/components/AnswerPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAiB,MAAM,SAAS,CAAC;AAGlF,UAAU,KAAK;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,eAAe,CAAC;IAChC,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAmCrD,CAAC"}
1
+ {"version":3,"file":"AnswerPage.d.ts","sourceRoot":"","sources":["../../src/components/AnswerPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAiB,MAAM,SAAS,CAAC;AAGlF,UAAU,KAAK;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,eAAe,CAAC;IAChC,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAuDrD,CAAC"}
@@ -27,27 +27,64 @@ var AnswerPage = function (props) {
27
27
  var _a = __read(react_1["default"].useState(0), 2), _ = _a[0], setCounter = _a[1];
28
28
  var displayMode = props.displayOptions.displayMode;
29
29
  var handleChange = function (response) { return setCounter(function (number) { return number + 1; }); };
30
+ var questionRefs = new Map();
30
31
  react_1["default"].useEffect(function () {
31
32
  props.response.onChange(handleChange);
32
33
  return function () { return props.response.offChange(handleChange); };
33
34
  });
34
35
  var beforeNext = function (panelIndex) {
35
- var panelQuestionKeys = props.questionnaire.panels[panelIndex].items.filter(function (item) { return item.type === "question"; }).map(function (item) { return item.key; });
36
- panelQuestionKeys.forEach(function (key) {
37
- props.response.touchField(key);
38
- });
39
- props.response.validate();
40
- var panelValid = panelQuestionKeys.reduce(function (acc, key) { return acc && props.response.getFieldState(key).valid; }, true);
41
- return panelValid;
36
+ var panel = props.questionnaire.panels[panelIndex];
37
+ props.response.touchPanelFields(panel);
38
+ var firstError = props.response.firstNotValidQuestionInPanel(panel);
39
+ if (firstError) {
40
+ var ref = questionRefs.get(firstError);
41
+ if (!ref)
42
+ throw ("Could not find ref for ".concat(props.questionnaire.key, ".").concat(firstError));
43
+ scrollToAndFocus(ref);
44
+ }
45
+ return firstError === null;
46
+ };
47
+ var onDone = function () {
48
+ props.response.touchAllFields();
49
+ var firstError = props.response.firstNotValidQuestion();
50
+ if (firstError) {
51
+ var ref = questionRefs.get(firstError);
52
+ if (!ref)
53
+ throw ("Could not find ref for ".concat(props.questionnaire.key, ".").concat(firstError));
54
+ scrollToAndFocus(ref);
55
+ }
56
+ else {
57
+ props.onSave();
58
+ }
59
+ };
60
+ var setQuestionRef = function (key, ref) {
61
+ questionRefs.set(key, ref);
42
62
  };
43
63
  return (react_1["default"].createElement("div", null,
44
64
  react_1["default"].createElement("form", { className: "paged", onSubmit: function (event) { return event.preventDefault(); } },
45
- react_1["default"].createElement(Paginator_1.Paginator, { beforeNext: beforeNext, displayMode: displayMode, panels: props.questionnaire.panels.map(function (panel) { return (react_1["default"].createElement(PanelContent_1.PanelContent, { questionnaire: props.questionnaire, panel: panel, response: props.response })); }), onSave: props.onSave }))));
65
+ react_1["default"].createElement(Paginator_1.Paginator, { beforeNext: beforeNext, displayMode: displayMode, panels: props.questionnaire.panels.map(function (panel) { return (react_1["default"].createElement(PanelContent_1.PanelContent, { questionnaire: props.questionnaire, panel: panel, response: props.response, setQuestionRef: setQuestionRef })); }), onDone: onDone, onFocus: function () { return props.response.setActiveQuestion(null); } }))));
46
66
  };
47
67
  exports.AnswerPage = AnswerPage;
48
- var DISPLAY_MODES = ["paged", "single_page"];
49
- var DisplayModeSelector = function (_a) {
50
- var displayMode = _a.displayMode, onChange = _a.onChange;
51
- return (react_1["default"].createElement("div", null, DISPLAY_MODES.map(function (mode) { return (react_1["default"].createElement("button", { key: mode, onClick: function () { return onChange(mode); } }, mode)); })));
68
+ // const DISPLAY_MODES = ["paged", "single_page"];
69
+ // const DisplayModeSelector = ({ displayMode, onChange }) => {
70
+ // return (
71
+ // <div>
72
+ // {DISPLAY_MODES.map(mode => (
73
+ // <button key={mode} onClick={() => onChange(mode)}>{mode}</button>
74
+ // ))}
75
+ // </div>
76
+ // );
77
+ // };
78
+ // Scrolls the ref into view (usually the question wrapper).
79
+ // Focusses the first focusable element.
80
+ var scrollToAndFocus = function (ref) {
81
+ var el = ref === null || ref === void 0 ? void 0 : ref.current;
82
+ if (!el)
83
+ return;
84
+ el.scrollIntoView();
85
+ var firstInput = el.querySelector('input, select, textarea, [tabindex]:not([tabindex="-1"])');
86
+ if (firstInput instanceof HTMLElement) {
87
+ firstInput.focus();
88
+ }
52
89
  };
53
90
  //# sourceMappingURL=AnswerPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnswerPage.js","sourceRoot":"","sources":["../../src/components/AnswerPage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,+CAA8C;AAE9C,yCAAwC;AASjC,IAAM,UAAU,GAAmC,UAAA,KAAK;IACvD,IAAA,KAAA,OAAkB,kBAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,EAAlC,CAAC,QAAA,EAAE,UAAU,QAAqB,CAAC;IAC1C,IAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACrD,IAAM,YAAY,GAAG,UAAC,QAAkB,IAAK,OAAA,UAAU,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,GAAG,CAAC,EAAV,CAAU,CAAC,EAAhC,CAAgC,CAAC;IAE9E,kBAAK,CAAC,SAAS,CAAC;QACd,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QACrC,OAAO,cAAM,OAAA,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,EAAtC,CAAsC,CAAA;IACrD,CAAC,CAAC,CAAC;IAEH,IAAM,UAAU,GAAG,UAAC,UAAkB;QACpC,IAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,UAAU,EAAxB,CAAwB,CAAC,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAC,IAAsB,CAAC,GAAG,EAA3B,CAA2B,CAAC,CAAC;QAEzJ,iBAAiB,CAAC,OAAO,CAAC,UAAA,GAAG;YAC3B,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC1B,IAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,OAAA,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAA9C,CAA8C,EAAE,IAAI,CAAC,CAAC;QAChH,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,CACL;QACE,2CAAM,SAAS,EAAC,OAAO,EAAC,QAAQ,EAAE,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,cAAc,EAAE,EAAtB,CAAsB;YAC/D,iCAAC,qBAAS,IACR,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,CAC9C,iCAAC,2BAAY,IAAC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAI,CAC7F,EAF+C,CAE/C,CAAC,EACF,MAAM,EAAE,KAAK,CAAC,MAAM,GACpB,CACG,CACH,CACP,CAAC;AACJ,CAAC,CAAC;AAnCW,QAAA,UAAU,cAmCrB;AAEF,IAAM,aAAa,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAE/C,IAAM,mBAAmB,GAAG,UAAC,EAAyB;QAAvB,WAAW,iBAAA,EAAE,QAAQ,cAAA;IAClD,OAAO,CACL,8CACG,aAAa,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,CACzB,6CAAQ,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,cAAM,OAAA,QAAQ,CAAC,IAAI,CAAC,EAAd,CAAc,IAAG,IAAI,CAAU,CAClE,EAF0B,CAE1B,CAAC,CACE,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"AnswerPage.js","sourceRoot":"","sources":["../../src/components/AnswerPage.tsx"],"names":[],"mappings":"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"}
@@ -6,12 +6,14 @@ export interface INavigationCallbacks {
6
6
  next?: () => void;
7
7
  abort?: () => void;
8
8
  previousQuestionnaire?: () => void;
9
+ onFocus: () => void;
9
10
  }
10
11
  declare type CanProceed = boolean;
11
12
  interface Props {
12
13
  beforeNext: (panelIndex: number) => CanProceed;
13
14
  panels: ReactChild[];
14
- onSave: () => void;
15
+ onDone: () => void;
16
+ onFocus: () => void;
15
17
  }
16
18
  export declare const Paginator: React.FunctionComponent<Pick<IDisplayOptions, "displayMode"> & Props>;
17
19
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Paginator.d.ts","sourceRoot":"","sources":["../../src/components/Paginator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI1C,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;CACpC;AAED,aAAK,UAAU,GAAG,OAAO,CAAC;AAE1B,UAAU,KAAK;IACb,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,UAAU,CAAC;IAC/C,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG,KAAK,CAwC3F,CAAC"}
1
+ {"version":3,"file":"Paginator.d.ts","sourceRoot":"","sources":["../../src/components/Paginator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI1C,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,aAAK,UAAU,GAAG,OAAO,CAAC;AAE1B,UAAU,KAAK;IACb,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,UAAU,CAAC;IAC/C,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG,KAAK,CAyC3F,CAAC"}
@@ -27,21 +27,22 @@ var Paginator = function (props) {
27
27
  var _a = __read(react_1["default"].useState(0), 2), activeIndex = _a[0], setActiveIndex = _a[1];
28
28
  var callbacks = {
29
29
  prev: activeIndex > 0 ? function () { return setActiveIndex(function (idx) { return idx - 1; }); } : undefined,
30
- next: activeIndex < props.panels.length - 1
30
+ next: activeIndex < props.panels.length - 1 && props.displayMode !== "single_page"
31
31
  ? function () {
32
32
  if (props.beforeNext(activeIndex)) {
33
33
  setActiveIndex(function (idx) { return idx + 1; });
34
34
  }
35
35
  }
36
36
  : undefined,
37
- done: props.onSave
37
+ done: props.onDone,
38
+ onFocus: props.onFocus
38
39
  };
39
40
  switch (props.displayMode) {
40
41
  case "paged": {
41
42
  return (react_1["default"].createElement(PagedPanel, { panelCount: props.panels.length, panelIndex: activeIndex, navigate: callbacks }, props.panels[activeIndex]));
42
43
  }
43
44
  case "single_page": {
44
- return (react_1["default"].createElement(react_1["default"].Fragment, null, props.panels.map(function (content, index) { return (react_1["default"].createElement("fieldset", { className: "panel" },
45
+ return (react_1["default"].createElement(react_1["default"].Fragment, null, props.panels.map(function (content, index) { return (react_1["default"].createElement("fieldset", { className: "panel", key: index },
45
46
  content,
46
47
  index === props.panels.length - 1 ? react_1["default"].createElement(Buttons, { firstPanel: false, lastPanel: true, navigate: callbacks }) : null)); })));
47
48
  }
@@ -68,9 +69,11 @@ var PagedPanel = function (props) {
68
69
  var Buttons = function (props) {
69
70
  var t = (0, react_i18next_1.useTranslation)().t;
70
71
  return (react_1["default"].createElement("div", { className: "buttons" },
71
- react_1["default"].createElement("div", { className: "prev" }, props.navigate.prev && react_1["default"].createElement(Button, { onClick: props.navigate.prev, value: t("previous") })),
72
- react_1["default"].createElement("div", { className: "abort" }, props.navigate.abort && react_1["default"].createElement(Button, { onClick: props.navigate.abort, value: t("abort") })),
73
- react_1["default"].createElement("div", { className: "next" }, props.lastPanel ? react_1["default"].createElement(Button, { onClick: props.navigate.done, value: t("done") }) : react_1["default"].createElement(Button, { onClick: props.navigate.next, value: t("next") }))));
72
+ react_1["default"].createElement("div", { className: "prev" }, props.navigate.prev && react_1["default"].createElement(Button, { onClick: props.navigate.prev, value: t("previous"), onFocus: props.navigate.onFocus })),
73
+ react_1["default"].createElement("div", { className: "abort" }, props.navigate.abort && react_1["default"].createElement(Button, { onClick: props.navigate.abort, value: t("abort"), onFocus: props.navigate.onFocus })),
74
+ react_1["default"].createElement("div", { className: "next" }, props.navigate.next
75
+ ? react_1["default"].createElement(Button, { onClick: props.navigate.next, value: t("next"), onFocus: props.navigate.onFocus })
76
+ : react_1["default"].createElement(Button, { onClick: props.navigate.done, value: t("done"), onFocus: props.navigate.onFocus }))));
74
77
  // .buttons
75
78
  // - if panel_counter == 0 and @questionnaire.enable_previous_questionnaire_button
76
79
  // .back
@@ -93,8 +96,8 @@ var Buttons = function (props) {
93
96
  // = render :partial => 'quby/v1/shared/pdf_button'
94
97
  };
95
98
  var Button = function (_a) {
96
- var value = _a.value, onClick = _a.onClick;
97
- return react_1["default"].createElement("button", { onClick: onClick }, value);
99
+ var value = _a.value, onClick = _a.onClick, onFocus = _a.onFocus;
100
+ return react_1["default"].createElement("button", { onClick: onClick, onFocus: onFocus }, value);
98
101
  };
99
102
  // TODO:
100
103
  // .panel-action-links
@@ -1 +1 @@
1
- {"version":3,"file":"Paginator.js","sourceRoot":"","sources":["../../src/components/Paginator.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Paginator.js","sourceRoot":"","sources":["../../src/components/Paginator.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ interface Props {
4
4
  questionnaire: Questionnaire;
5
5
  panel: IPanel;
6
6
  response: Response;
7
+ setQuestionRef: (key: string, ref: React.RefObject<HTMLElement>) => void;
7
8
  }
8
9
  export declare const PanelContent: React.FunctionComponent<Props>;
9
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"PanelContent.d.ts","sourceRoot":"","sources":["../../src/components/PanelContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG1D,UAAU,KAAK;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CASvD,CAAC"}
1
+ {"version":3,"file":"PanelContent.d.ts","sourceRoot":"","sources":["../../src/components/PanelContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG1D,UAAU,KAAK;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC1E;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CASvD,CAAC"}
@@ -7,10 +7,10 @@ exports.PanelContent = void 0;
7
7
  var react_1 = __importDefault(require("react"));
8
8
  var PanelItem_1 = require("./PanelItem");
9
9
  var PanelContent = function (_a) {
10
- var questionnaire = _a.questionnaire, panel = _a.panel, response = _a.response;
10
+ var questionnaire = _a.questionnaire, panel = _a.panel, response = _a.response, setQuestionRef = _a.setQuestionRef;
11
11
  return (react_1["default"].createElement(react_1["default"].Fragment, null,
12
12
  react_1["default"].createElement(Title, { title: panel.title }),
13
- panel.items.map(function (item, idx) { return (react_1["default"].createElement(PanelItem_1.PanelItem, { key: idx, questionnaire: questionnaire, item: item, response: response })); })));
13
+ panel.items.map(function (item, idx) { return (react_1["default"].createElement(PanelItem_1.PanelItem, { key: idx, questionnaire: questionnaire, item: item, response: response, setQuestionRef: setQuestionRef })); })));
14
14
  };
15
15
  exports.PanelContent = PanelContent;
16
16
  var Title = function (_a) {
@@ -1 +1 @@
1
- {"version":3,"file":"PanelContent.js","sourceRoot":"","sources":["../../src/components/PanelContent.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,yCAAwC;AAQjC,IAAM,YAAY,GAAmC,UAAC,EAAkC;QAAhC,aAAa,mBAAA,EAAE,KAAK,WAAA,EAAE,QAAQ,cAAA;IAC3F,OAAO,CACL,iCAAC,kBAAK,CAAC,QAAQ;QACb,iCAAC,KAAK,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI;QAC5B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,GAAG,IAAK,OAAA,CAC9B,iCAAC,qBAAS,IAAC,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACtF,EAF+B,CAE/B,CAAC,CACa,CAClB,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,YAAY,gBASvB;AAEF,IAAM,KAAK,GAA+C,UAAC,EAAS;QAAP,KAAK,WAAA;IAChE,IAAI,KAAK,EAAE;QACT,OAAO,6CAAK,KAAK,CAAM,CAAC;KACzB;SAAM;QACL,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"PanelContent.js","sourceRoot":"","sources":["../../src/components/PanelContent.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,yCAAwC;AASjC,IAAM,YAAY,GAAmC,UAAC,EAAkD;QAAhD,aAAa,mBAAA,EAAE,KAAK,WAAA,EAAE,QAAQ,cAAA,EAAE,cAAc,oBAAA;IAC3G,OAAO,CACL,iCAAC,kBAAK,CAAC,QAAQ;QACb,iCAAC,KAAK,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI;QAC5B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,GAAG,IAAK,OAAA,CAC9B,iCAAC,qBAAS,IAAC,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,GAAI,CACtH,EAF+B,CAE/B,CAAC,CACa,CAClB,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,YAAY,gBASvB;AAEF,IAAM,KAAK,GAAqD,UAAC,EAAS;QAAP,KAAK,WAAA;IACtE,IAAI,KAAK,EAAE;QACT,OAAO,6CAAK,KAAK,CAAM,CAAC;KACzB;SAAM;QACL,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAC"}
@@ -4,6 +4,7 @@ interface Props {
4
4
  questionnaire: Questionnaire;
5
5
  item: IPanelItem;
6
6
  response: Response;
7
+ setQuestionRef: (key: string, ref: React.RefObject<HTMLElement>) => void;
7
8
  }
8
9
  export declare const PanelItem: React.FunctionComponent<Props>;
9
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"PanelItem.d.ts","sourceRoot":"","sources":["../../src/components/PanelItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK9D,UAAU,KAAK;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAID,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAapD,CAAC"}
1
+ {"version":3,"file":"PanelItem.d.ts","sourceRoot":"","sources":["../../src/components/PanelItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK9D,UAAU,KAAK;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC1E;AAID,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAapD,CAAC"}
@@ -15,7 +15,7 @@ var PanelItem = function (props) {
15
15
  return react_1["default"].createElement(HtmlItem_1.HtmlItem, { item: props.item, response: props.response });
16
16
  }
17
17
  case "question": {
18
- return react_1["default"].createElement(QuestionItem_1.QuestionItem, { questionnaire: props.questionnaire, response: props.response, fieldKey: props.item.key });
18
+ return react_1["default"].createElement(QuestionItem_1.QuestionItem, { questionnaire: props.questionnaire, response: props.response, fieldKey: props.item.key, setQuestionRef: props.setQuestionRef });
19
19
  }
20
20
  default: {
21
21
  return react_1["default"].createElement(UnknownItem_1.UnknownItem, { item: props.item });
@@ -1 +1 @@
1
- {"version":3,"file":"PanelItem.js","sourceRoot":"","sources":["../../src/components/PanelItem.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,6CAA4C;AAC5C,qDAAoD;AACpD,mDAAkD;AAQlD,oBAAoB;AAEb,IAAM,SAAS,GAAmC,UAAA,KAAK;IAC5D,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;QACvB,KAAK,MAAM,CAAC,CAAC;YACX,OAAO,iCAAC,mBAAQ,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAI,CAAC;SACjE;QACD,KAAK,UAAU,CAAC,CAAC;YACf,OAAO,iCAAC,2BAAY,IAAC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAI,CAAC;SACjH;QACD,OAAO,CAAC,CAAC;YACP,OAAO,iCAAC,yBAAW,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAI,CAAA;YACxC,OAAO,IAAI,CAAC;SACb;KACF;AACH,CAAC,CAAC;AAbW,QAAA,SAAS,aAapB"}
1
+ {"version":3,"file":"PanelItem.js","sourceRoot":"","sources":["../../src/components/PanelItem.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,6CAA4C;AAC5C,qDAAoD;AACpD,mDAAkD;AASlD,oBAAoB;AAEb,IAAM,SAAS,GAAmC,UAAA,KAAK;IAC5D,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;QACvB,KAAK,MAAM,CAAC,CAAC;YACX,OAAO,iCAAC,mBAAQ,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAI,CAAC;SACjE;QACD,KAAK,UAAU,CAAC,CAAC;YACf,OAAO,iCAAC,2BAAY,IAAC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,GAAI,CAAC;SACvJ;QACD,OAAO,CAAC,CAAC;YACP,OAAO,iCAAC,yBAAW,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAI,CAAA;YACxC,OAAO,IAAI,CAAC;SACb;KACF;AACH,CAAC,CAAC;AAbW,QAAA,SAAS,aAapB"}
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  interface HasDescription {
3
- description: string;
3
+ description: string | null;
4
4
  }
5
5
  interface Props {
6
6
  question: HasDescription;
@@ -1 +1 @@
1
- {"version":3,"file":"QuestionDescription.d.ts","sourceRoot":"","sources":["../../src/components/QuestionDescription.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,KAAK;IACb,QAAQ,EAAE,cAAc,CAAA;CACzB;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAE9D,CAAA"}
1
+ {"version":3,"file":"QuestionDescription.d.ts","sourceRoot":"","sources":["../../src/components/QuestionDescription.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,UAAU,KAAK;IACb,QAAQ,EAAE,cAAc,CAAA;CACzB;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAI9D,CAAA"}
@@ -6,6 +6,8 @@ exports.__esModule = true;
6
6
  exports.QuestionDescription = void 0;
7
7
  var react_1 = __importDefault(require("react"));
8
8
  var QuestionDescription = function (props) {
9
+ if (!props.question.description)
10
+ return null;
9
11
  return react_1["default"].createElement("div", { className: "description", dangerouslySetInnerHTML: { __html: props.question.description } });
10
12
  };
11
13
  exports.QuestionDescription = QuestionDescription;
@@ -1 +1 @@
1
- {"version":3,"file":"QuestionDescription.js","sourceRoot":"","sources":["../../src/components/QuestionDescription.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAUnB,IAAM,mBAAmB,GAAmC,UAAC,KAAK;IACvE,OAAO,0CAAK,SAAS,EAAC,aAAa,EAAC,uBAAuB,EAAE,EAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAC,GAAI,CAAA;AACvG,CAAC,CAAA;AAFY,QAAA,mBAAmB,uBAE/B"}
1
+ {"version":3,"file":"QuestionDescription.js","sourceRoot":"","sources":["../../src/components/QuestionDescription.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAUnB,IAAM,mBAAmB,GAAmC,UAAC,KAAK;IACvE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE7C,OAAO,0CAAK,SAAS,EAAC,aAAa,EAAC,uBAAuB,EAAE,EAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAC,GAAI,CAAA;AACvG,CAAC,CAAA;AAJY,QAAA,mBAAmB,uBAI/B"}
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
- import { IField, IValidated } from "../core";
2
+ import { IFieldState, IField } from "../core";
3
3
  interface Props {
4
4
  className?: string;
5
5
  question: IField;
6
- fieldState: IValidated;
6
+ fieldState: IFieldState<any>;
7
+ setQuestionRef: (key: string, ref: React.RefObject<HTMLElement>) => void;
7
8
  }
8
9
  export declare const QuestionWrapper: React.FunctionComponent<Props>;
9
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"QuestionWrapper.d.ts","sourceRoot":"","sources":["../../src/components/QuestionWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAe,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1D,UAAU,KAAK;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAa1D,CAAC"}
1
+ {"version":3,"file":"QuestionWrapper.d.ts","sourceRoot":"","sources":["../../src/components/QuestionWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,EAAsB,MAAM,SAAS,CAAC;AAGlE,UAAU,KAAK;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7B,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC1E;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAgB1D,CAAC"}
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
15
  };
@@ -8,13 +19,19 @@ var react_1 = __importDefault(require("react"));
8
19
  var classnames_1 = __importDefault(require("classnames"));
9
20
  var ValidationErrors_1 = require("./ValidationErrors");
10
21
  var QuestionWrapper = function (props) {
11
- var question = props.question, fieldState = props.fieldState;
22
+ var question = props.question, fieldState = props.fieldState, setQuestionRef = props.setQuestionRef;
23
+ var questionRef = react_1["default"].useRef(null);
24
+ setQuestionRef(question.key, questionRef);
12
25
  var className = (0, classnames_1["default"])("item", question.type, question.presentation, question.questionGroup, question.as, props.className, {
13
- errors: fieldState.touched && fieldState.errors.length > 0
26
+ errors: fieldState.beenActive && fieldState.errors.length > 0,
27
+ active: fieldState.isActiveQuestion
14
28
  });
15
- return (react_1["default"].createElement("div", { className: className },
29
+ return (react_1["default"].createElement("div", { className: className, ref: questionRef, style: __assign({}, (fieldState.isActiveQuestion && activeStyles)) },
16
30
  react_1["default"].createElement(ValidationErrors_1.ValidationErrors, { fieldState: fieldState }),
17
31
  props.children));
18
32
  };
19
33
  exports.QuestionWrapper = QuestionWrapper;
34
+ var activeStyles = {
35
+ backgroundColor: '#fbfbff'
36
+ };
20
37
  //# sourceMappingURL=QuestionWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuestionWrapper.js","sourceRoot":"","sources":["../../src/components/QuestionWrapper.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAC1B,0DAAoC;AAEpC,uDAAsD;AAQ/C,IAAM,eAAe,GAAmC,UAAA,KAAK;IAC1D,IAAA,QAAQ,GAAiB,KAAK,SAAtB,EAAE,UAAU,GAAK,KAAK,WAAV,CAAW;IAEvC,IAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE;QAC/H,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;KAC3D,CAAC,CAAC;IAEH,OAAO,CACL,0CAAK,SAAS,EAAE,SAAS;QACvB,iCAAC,mCAAgB,IAAC,UAAU,EAAE,UAAU,GAAI;QAC3C,KAAK,CAAC,QAAQ,CACX,CACP,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,eAAe,mBAa1B"}
1
+ {"version":3,"file":"QuestionWrapper.js","sourceRoot":"","sources":["../../src/components/QuestionWrapper.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,0DAAoC;AAEpC,uDAAsD;AAS/C,IAAM,eAAe,GAAmC,UAAA,KAAK;IAC1D,IAAA,QAAQ,GAAiC,KAAK,SAAtC,EAAE,UAAU,GAAqB,KAAK,WAA1B,EAAE,cAAc,GAAK,KAAK,eAAV,CAAW;IACvD,IAAM,WAAW,GAAG,kBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAE1C,IAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE;QAC/H,MAAM,EAAE,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAC7D,MAAM,EAAE,UAAU,CAAC,gBAAgB;KACpC,CAAC,CAAC;IAEH,OAAO,CACL,0CAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,eAAM,CAAC,UAAU,CAAC,gBAAgB,IAAI,YAAY,CAAC;QACnG,iCAAC,mCAAgB,IAAC,UAAU,EAAE,UAAU,GAAI;QAC3C,KAAK,CAAC,QAAQ,CACX,CACP,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,eAAe,mBAgB1B;AAGF,IAAM,YAAY,GAAG;IACnB,eAAe,EAAE,SAAS;CAC3B,CAAA"}
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
15
  };
@@ -9,7 +20,7 @@ var classnames_1 = __importDefault(require("classnames"));
9
20
  var react_i18next_1 = require("react-i18next");
10
21
  var ValidationErrors = function (_a) {
11
22
  var fieldState = _a.fieldState;
12
- if (!fieldState.touched)
23
+ if (!fieldState.beenActive)
13
24
  return null;
14
25
  return react_1["default"].createElement(react_1["default"].Fragment, null, fieldState.errors.map(function (error) { return react_1["default"].createElement(Error, { key: error.type, error: error }); }));
15
26
  };
@@ -18,6 +29,8 @@ var Error = function (_a) {
18
29
  var error = _a.error;
19
30
  var t = (0, react_i18next_1.useTranslation)().t;
20
31
  var className = (0, classnames_1["default"])("error", error.type);
21
- return react_1["default"].createElement("div", { className: className }, t("validations.".concat(error.message.t), error));
32
+ var args = __assign({}, error.message);
33
+ delete args.t;
34
+ return react_1["default"].createElement("div", { className: className }, t("validations.".concat(error.message.t), args));
22
35
  };
23
36
  //# sourceMappingURL=ValidationErrors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationErrors.js","sourceRoot":"","sources":["../../src/components/ValidationErrors.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,0DAAoC;AACpC,+CAA+C;AAMxC,IAAM,gBAAgB,GAAmC,UAAC,EAAc;QAAZ,UAAU,gBAAA;IAC3E,IAAI,CAAC,UAAU,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAErC,OAAO,oEAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,iCAAC,KAAK,IAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAI,EAAxC,CAAwC,CAAC,CAAI,CAAC;AACzF,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B;AAEF,IAAM,KAAK,GAA+C,UAAC,EAAS;QAAP,KAAK,WAAA;IACxD,IAAA,CAAC,GAAK,IAAA,8BAAc,GAAE,EAArB,CAAsB;IAC/B,IAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAElD,OAAO,0CAAK,SAAS,EAAE,SAAS,IAC7B,CAAC,CAAC,sBAAe,KAAK,CAAC,OAAO,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CACvC,CAAA;AACR,CAAC,CAAC"}
1
+ {"version":3,"file":"ValidationErrors.js","sourceRoot":"","sources":["../../src/components/ValidationErrors.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAE1B,0DAAoC;AACpC,+CAA+C;AAMxC,IAAM,gBAAgB,GAAmC,UAAC,EAAc;QAAZ,UAAU,gBAAA;IAC3E,IAAI,CAAC,UAAU,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAExC,OAAO,oEAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,iCAAC,KAAK,IAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAI,EAAxC,CAAwC,CAAC,CAAI,CAAC;AACzF,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B;AAEF,IAAM,KAAK,GAA+C,UAAC,EAAS;QAAP,KAAK,WAAA;IACxD,IAAA,CAAC,GAAK,IAAA,8BAAc,GAAE,EAArB,CAAsB;IAC/B,IAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,IAAM,IAAI,gBAAY,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,IAAI,CAAC,CAAC,CAAC;IAEd,OAAO,0CAAK,SAAS,EAAE,SAAS,IAC7B,CAAC,CAAC,sBAAe,KAAK,CAAC,OAAO,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CACtC,CAAA;AACR,CAAC,CAAC"}
@@ -4,6 +4,7 @@ interface Props {
4
4
  questionnaire: Questionnaire;
5
5
  response: Response;
6
6
  fieldKey: string;
7
+ setQuestionRef: (key: string, ref: React.RefObject<HTMLElement>) => void;
7
8
  }
8
9
  export declare const QuestionItem: React.FunctionComponent<Props>;
9
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"QuestionItem.d.ts","sourceRoot":"","sources":["../../../src/components/items/QuestionItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAsB,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAYzE,UAAU,KAAK;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CA0DvD,CAAC"}
1
+ {"version":3,"file":"QuestionItem.d.ts","sourceRoot":"","sources":["../../../src/components/items/QuestionItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAsB,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAYzE,UAAU,KAAK;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC1E;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CA0DvD,CAAC"}
@@ -16,68 +16,68 @@ var SliderQuestion_1 = require("../questions/SliderQuestion");
16
16
  var TextareaQuestion_1 = require("../questions/TextareaQuestion");
17
17
  var CheckBoxQuestion_1 = require("../questions/CheckBoxQuestion");
18
18
  var QuestionItem = function (_a) {
19
- var questionnaire = _a.questionnaire, response = _a.response, fieldKey = _a.fieldKey;
19
+ var questionnaire = _a.questionnaire, response = _a.response, fieldKey = _a.fieldKey, setQuestionRef = _a.setQuestionRef;
20
20
  var question = questionnaire.getField(fieldKey);
21
21
  switch (question.as) {
22
22
  case "string": {
23
23
  var fieldState = response.getFieldState(fieldKey);
24
24
  if (fieldState.hidden)
25
25
  return null;
26
- return react_1["default"].createElement(StringQuestion_1.StringQuestion, { question: question, fieldState: fieldState });
26
+ return react_1["default"].createElement(StringQuestion_1.StringQuestion, { question: question, fieldState: fieldState, setQuestionRef: setQuestionRef });
27
27
  }
28
28
  case "scale": {
29
29
  var fieldState = response.getFieldState(fieldKey);
30
30
  if (fieldState.hidden)
31
31
  return null;
32
- return react_1["default"].createElement(ScaleQuestion_1.ScaleQuestion, { question: question, fieldState: fieldState });
32
+ return react_1["default"].createElement(ScaleQuestion_1.ScaleQuestion, { question: question, fieldState: fieldState, setQuestionRef: setQuestionRef });
33
33
  }
34
34
  case "radio": {
35
35
  var fieldState = response.getFieldState(fieldKey);
36
36
  if (fieldState.hidden)
37
37
  return null;
38
- return react_1["default"].createElement(RadioQuestion_1.RadioQuestion, { question: question, fieldState: fieldState });
38
+ return react_1["default"].createElement(RadioQuestion_1.RadioQuestion, { question: question, fieldState: fieldState, setQuestionRef: setQuestionRef });
39
39
  }
40
40
  case "select": {
41
41
  var fieldState = response.getFieldState(fieldKey);
42
42
  if (fieldState.hidden)
43
43
  return null;
44
- return react_1["default"].createElement(SelectQuestion_1.SelectQuestion, { question: question, fieldState: fieldState });
44
+ return react_1["default"].createElement(SelectQuestion_1.SelectQuestion, { question: question, fieldState: fieldState, setQuestionRef: setQuestionRef });
45
45
  }
46
46
  case "date_parts": {
47
47
  var fieldState = response.getFieldState(fieldKey);
48
48
  if (fieldState.hidden)
49
49
  return null;
50
- return react_1["default"].createElement(DatePartsQuestion_1.DatePartsQuestion, { question: question, fieldState: fieldState });
50
+ return react_1["default"].createElement(DatePartsQuestion_1.DatePartsQuestion, { question: question, fieldState: fieldState, setQuestionRef: setQuestionRef });
51
51
  }
52
52
  case "integer": {
53
53
  var fieldState = response.getFieldState(fieldKey);
54
54
  if (fieldState.hidden)
55
55
  return null;
56
- return react_1["default"].createElement(IntegerQuestion_1.IntegerQuestion, { question: question, fieldState: fieldState });
56
+ return react_1["default"].createElement(IntegerQuestion_1.IntegerQuestion, { question: question, fieldState: fieldState, setQuestionRef: setQuestionRef });
57
57
  }
58
58
  case "float": {
59
59
  var fieldState = response.getFieldState(fieldKey);
60
60
  if (fieldState.hidden)
61
61
  return null;
62
- return react_1["default"].createElement(FloatQuestion_1.FloatQuestion, { question: question, fieldState: fieldState });
62
+ return react_1["default"].createElement(FloatQuestion_1.FloatQuestion, { question: question, fieldState: fieldState, setQuestionRef: setQuestionRef });
63
63
  }
64
64
  case "slider": {
65
65
  var fieldState = response.getFieldState(fieldKey);
66
66
  if (fieldState.hidden)
67
67
  return null;
68
- return react_1["default"].createElement(SliderQuestion_1.SliderQuestion, { question: question, fieldState: fieldState });
68
+ return react_1["default"].createElement(SliderQuestion_1.SliderQuestion, { question: question, fieldState: fieldState, setQuestionRef: setQuestionRef });
69
69
  }
70
70
  case "textarea": {
71
71
  var fieldState = response.getFieldState(fieldKey);
72
72
  if (fieldState.hidden)
73
73
  return null;
74
- return react_1["default"].createElement(TextareaQuestion_1.TextareaQuestion, { question: question, fieldState: fieldState });
74
+ return react_1["default"].createElement(TextareaQuestion_1.TextareaQuestion, { question: question, fieldState: fieldState, setQuestionRef: setQuestionRef });
75
75
  }
76
76
  case "check_box": {
77
77
  var fieldState = response.getFieldState(fieldKey);
78
78
  if (fieldState.hidden)
79
79
  return null;
80
- return react_1["default"].createElement(CheckBoxQuestion_1.CheckBoxQuestion, { question: question, fieldState: fieldState });
80
+ return react_1["default"].createElement(CheckBoxQuestion_1.CheckBoxQuestion, { question: question, fieldState: fieldState, setQuestionRef: setQuestionRef });
81
81
  }
82
82
  }
83
83
  throw new Error("unknown question type");
@@ -1 +1 @@
1
- {"version":3,"file":"QuestionItem.js","sourceRoot":"","sources":["../../../src/components/items/QuestionItem.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QuestionItem.js","sourceRoot":"","sources":["../../../src/components/items/QuestionItem.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ declare type CheckBoxFieldState = IFieldState<Set<string>>;
4
4
  interface Props {
5
5
  question: ICheckBoxQuestion;
6
6
  fieldState: CheckBoxFieldState;
7
+ setQuestionRef: (key: string, ref: React.RefObject<HTMLElement>) => void;
7
8
  }
8
9
  export declare const CheckBoxQuestion: React.FunctionComponent<Props>;
9
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"CheckBoxQuestion.d.ts","sourceRoot":"","sources":["../../../src/components/questions/CheckBoxQuestion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAW,WAAW,EAAE,MAAM,YAAY,CAAC;AAMrE,aAAK,kBAAkB,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAEnD,UAAU,KAAK;IACb,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,kBAAkB,CAAC;CAChC;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAuB3D,CAAC"}
1
+ {"version":3,"file":"CheckBoxQuestion.d.ts","sourceRoot":"","sources":["../../../src/components/questions/CheckBoxQuestion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAmB,WAAW,EAAE,MAAM,YAAY,CAAC;AAM7E,aAAK,kBAAkB,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAEnD,UAAU,KAAK;IACb,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC1E;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CA6B3D,CAAC"}
@@ -10,13 +10,15 @@ var MainLabel_1 = require("../MainLabel");
10
10
  var QuestionWrapper_1 = require("../QuestionWrapper");
11
11
  var QuestionDescription_1 = require("../QuestionDescription");
12
12
  var CheckBoxQuestion = function (_a) {
13
- var question = _a.question, fieldState = _a.fieldState;
14
- var fieldsClassNames = (0, classnames_1["default"])("fields", question.presentation !== "horizontal" ? "options".concat(question.options.length) : null);
15
- return (react_1["default"].createElement(QuestionWrapper_1.QuestionWrapper, { question: question, fieldState: fieldState },
13
+ var question = _a.question, fieldState = _a.fieldState, setQuestionRef = _a.setQuestionRef;
14
+ var fieldsClassNames = (0, classnames_1["default"])("fields", question.presentation !== "horizontal" ? "options".concat(question.children.length) : null);
15
+ return (react_1["default"].createElement(QuestionWrapper_1.QuestionWrapper, { question: question, fieldState: fieldState, setQuestionRef: setQuestionRef },
16
16
  react_1["default"].createElement(MainLabel_1.MainLabel, { question: question }),
17
17
  react_1["default"].createElement("div", { className: "description-and-fields" },
18
18
  react_1["default"].createElement(QuestionDescription_1.QuestionDescription, { question: question }),
19
- react_1["default"].createElement("div", { className: fieldsClassNames, id: htmlId(question) }, question.options.map(function (option, index) { return (react_1["default"].createElement(Option, { key: option.key, question: question, option: option, index: index, fieldState: fieldState })); })))));
19
+ react_1["default"].createElement("div", { className: fieldsClassNames, id: htmlId(question) }, question.children.map(function (child, index) { return (child.type === 'option'
20
+ ? react_1["default"].createElement(Option, { key: child.key, question: question, option: child, index: index, fieldState: fieldState })
21
+ : react_1["default"].createElement("div", { key: child.key, className: "inner-title", dangerouslySetInnerHTML: { __html: child.html } })); })))));
20
22
  };
21
23
  exports.CheckBoxQuestion = CheckBoxQuestion;
22
24
  var Option = function (_a) {
@@ -29,11 +31,11 @@ var Option = function (_a) {
29
31
  deselectable: false // TODO
30
32
  });
31
33
  var value = fieldState.value || new Set();
32
- var checked = value.has(option.key);
33
- var handleChange = function (event) { return fieldState.setValue(toggleValue(fieldState, option.key)); };
34
+ var checked = value.has(option.key) || false;
35
+ var handleChange = function (event) { return option.key && fieldState.setValue(toggleValue(fieldState, option.key)); };
34
36
  return (react_1["default"].createElement("div", { className: divClassNames },
35
37
  react_1["default"].createElement("div", { className: "radiocheckwrapper" },
36
- react_1["default"].createElement("input", { type: "checkbox", name: question.key, id: option.viewId, className: inputClassNames, checked: checked, onChange: handleChange })),
38
+ react_1["default"].createElement("input", { type: "checkbox", name: question.key, id: option.viewId, className: inputClassNames, checked: checked, onChange: handleChange, onFocus: fieldState.setAsActiveQuestion })),
37
39
  react_1["default"].createElement(ShowValue, { question: question, option: option }),
38
40
  react_1["default"].createElement("div", { className: "labelwrapper" },
39
41
  react_1["default"].createElement("label", { htmlFor: option.viewId },