@roqua/quby-frontend 0.1.5 → 0.3.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 (125) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/lib/assets/assets/quby/application.css +0 -650
  3. package/lib/assets/quby/application.css +0 -650
  4. package/lib/components/AnswerPage.d.ts.map +1 -1
  5. package/lib/components/AnswerPage.js +24 -3
  6. package/lib/components/AnswerPage.js.map +1 -1
  7. package/lib/components/MainLabel.js +4 -2
  8. package/lib/components/MainLabel.js.map +1 -1
  9. package/lib/components/Paginator.js +21 -3
  10. package/lib/components/Paginator.js.map +1 -1
  11. package/lib/components/PanelContent.js +3 -1
  12. package/lib/components/PanelContent.js.map +1 -1
  13. package/lib/components/PanelItem.d.ts.map +1 -1
  14. package/lib/components/PanelItem.js +4 -4
  15. package/lib/components/PanelItem.js.map +1 -1
  16. package/lib/components/ProgressBar.d.ts.map +1 -1
  17. package/lib/components/ProgressBar.js +6 -4
  18. package/lib/components/ProgressBar.js.map +1 -1
  19. package/lib/components/Quby.js +3 -1
  20. package/lib/components/Quby.js.map +1 -1
  21. package/lib/components/QuestionDescription.js +3 -1
  22. package/lib/components/QuestionDescription.js.map +1 -1
  23. package/lib/components/QuestionWrapper.d.ts +2 -2
  24. package/lib/components/QuestionWrapper.d.ts.map +1 -1
  25. package/lib/components/QuestionWrapper.js +4 -2
  26. package/lib/components/QuestionWrapper.js.map +1 -1
  27. package/lib/components/ValidationErrors.d.ts +2 -2
  28. package/lib/components/ValidationErrors.d.ts.map +1 -1
  29. package/lib/components/ValidationErrors.js +6 -4
  30. package/lib/components/ValidationErrors.js.map +1 -1
  31. package/lib/components/index.js +12 -5
  32. package/lib/components/index.js.map +1 -1
  33. package/lib/components/items/HtmlItem.js +3 -1
  34. package/lib/components/items/HtmlItem.js.map +1 -1
  35. package/lib/components/items/QuestionItem.d.ts +4 -3
  36. package/lib/components/items/QuestionItem.d.ts.map +1 -1
  37. package/lib/components/items/QuestionItem.js +47 -6
  38. package/lib/components/items/QuestionItem.js.map +1 -1
  39. package/lib/components/items/UnknownItem.js +3 -1
  40. package/lib/components/items/UnknownItem.js.map +1 -1
  41. package/lib/components/questions/CheckBoxQuestion.d.ts +2 -1
  42. package/lib/components/questions/CheckBoxQuestion.d.ts.map +1 -1
  43. package/lib/components/questions/CheckBoxQuestion.js +22 -17
  44. package/lib/components/questions/CheckBoxQuestion.js.map +1 -1
  45. package/lib/components/questions/DatePartsQuestion.d.ts +9 -0
  46. package/lib/components/questions/DatePartsQuestion.d.ts.map +1 -0
  47. package/lib/components/questions/DatePartsQuestion.js +37 -0
  48. package/lib/components/questions/DatePartsQuestion.js.map +1 -0
  49. package/lib/components/questions/FloatQuestion.d.ts +1 -1
  50. package/lib/components/questions/FloatQuestion.d.ts.map +1 -1
  51. package/lib/components/questions/FloatQuestion.js +10 -5
  52. package/lib/components/questions/FloatQuestion.js.map +1 -1
  53. package/lib/components/questions/IntegerQuestion.d.ts +1 -1
  54. package/lib/components/questions/IntegerQuestion.d.ts.map +1 -1
  55. package/lib/components/questions/IntegerQuestion.js +9 -4
  56. package/lib/components/questions/IntegerQuestion.js.map +1 -1
  57. package/lib/components/questions/RadioQuestion.d.ts +1 -1
  58. package/lib/components/questions/RadioQuestion.d.ts.map +1 -1
  59. package/lib/components/questions/RadioQuestion.js +8 -6
  60. package/lib/components/questions/RadioQuestion.js.map +1 -1
  61. package/lib/components/questions/ScaleQuestion.d.ts +1 -1
  62. package/lib/components/questions/ScaleQuestion.d.ts.map +1 -1
  63. package/lib/components/questions/ScaleQuestion.js +7 -5
  64. package/lib/components/questions/ScaleQuestion.js.map +1 -1
  65. package/lib/components/questions/SelectQuestion.d.ts.map +1 -1
  66. package/lib/components/questions/SelectQuestion.js +8 -6
  67. package/lib/components/questions/SelectQuestion.js.map +1 -1
  68. package/lib/components/questions/SliderQuestion.d.ts +9 -0
  69. package/lib/components/questions/SliderQuestion.d.ts.map +1 -0
  70. package/lib/components/questions/SliderQuestion.js +123 -0
  71. package/lib/components/questions/SliderQuestion.js.map +1 -0
  72. package/lib/components/questions/StringQuestion.d.ts +1 -1
  73. package/lib/components/questions/StringQuestion.d.ts.map +1 -1
  74. package/lib/components/questions/StringQuestion.js +6 -5
  75. package/lib/components/questions/StringQuestion.js.map +1 -1
  76. package/lib/components/questions/TextareaQuestion.d.ts +1 -1
  77. package/lib/components/questions/TextareaQuestion.d.ts.map +1 -1
  78. package/lib/components/questions/TextareaQuestion.js +6 -4
  79. package/lib/components/questions/TextareaQuestion.js.map +1 -1
  80. package/lib/core/index.d.ts +1 -1
  81. package/lib/core/index.d.ts.map +1 -1
  82. package/lib/core/index.js +14 -6
  83. package/lib/core/index.js.map +1 -1
  84. package/lib/core/mock_helpers.d.ts +6 -0
  85. package/lib/core/mock_helpers.d.ts.map +1 -0
  86. package/lib/core/mock_helpers.js +41 -0
  87. package/lib/core/mock_helpers.js.map +1 -0
  88. package/lib/core/questionnaire.d.ts +3 -1
  89. package/lib/core/questionnaire.d.ts.map +1 -1
  90. package/lib/core/questionnaire.js +3 -0
  91. package/lib/core/questionnaire.js.map +1 -1
  92. package/lib/core/questionnaire_json.d.ts +48 -13
  93. package/lib/core/questionnaire_json.d.ts.map +1 -1
  94. package/lib/core/response.d.ts +31 -8
  95. package/lib/core/response.d.ts.map +1 -1
  96. package/lib/core/response.js +45 -4
  97. package/lib/core/response.js.map +1 -1
  98. package/lib/core/validators.d.ts +16 -9
  99. package/lib/core/validators.d.ts.map +1 -1
  100. package/lib/core/validators.js +166 -27
  101. package/lib/core/validators.js.map +1 -1
  102. package/lib/core/visibility_rules.js +5 -2
  103. package/lib/core/visibility_rules.js.map +1 -1
  104. package/lib/i18n.d.ts.map +1 -1
  105. package/lib/i18n.js +27 -18
  106. package/lib/i18n.js.map +1 -1
  107. package/lib/index.js +12 -5
  108. package/lib/index.js.map +1 -1
  109. package/package.json +4 -2
  110. package/lib/components/items/MarkdownItem.d.ts +0 -9
  111. package/lib/components/items/MarkdownItem.d.ts.map +0 -1
  112. package/lib/components/items/MarkdownItem.js +0 -13
  113. package/lib/components/items/MarkdownItem.js.map +0 -1
  114. package/lib/components/questions/DateQuestion.d.ts +0 -9
  115. package/lib/components/questions/DateQuestion.d.ts.map +0 -1
  116. package/lib/components/questions/DateQuestion.js +0 -29
  117. package/lib/components/questions/DateQuestion.js.map +0 -1
  118. package/lib/core/markdown.d.ts +0 -2
  119. package/lib/core/markdown.d.ts.map +0 -1
  120. package/lib/core/markdown.js +0 -7
  121. package/lib/core/markdown.js.map +0 -1
  122. package/lib/core/models.d.ts +0 -160
  123. package/lib/core/models.d.ts.map +0 -1
  124. package/lib/core/models.js +0 -3
  125. package/lib/core/models.js.map +0 -1
@@ -0,0 +1,123 @@
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
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ exports.__esModule = true;
17
+ exports.SliderQuestion = void 0;
18
+ var react_1 = __importDefault(require("react"));
19
+ var react_range_1 = require("react-range");
20
+ var MainLabel_1 = require("../MainLabel");
21
+ var QuestionWrapper_1 = require("../QuestionWrapper");
22
+ var QuestionDescription_1 = require("../QuestionDescription");
23
+ var SliderQuestion = function (_a) {
24
+ var question = _a.question, fieldState = _a.fieldState;
25
+ var handleChange = function (newValues) {
26
+ fieldState.setValue(newValues[0]);
27
+ };
28
+ var blank = fieldState.value == null;
29
+ var value = fieldState.value || question.defaultPosition;
30
+ var markerLabels = calculateMarkerLabels(question);
31
+ return (react_1["default"].createElement(QuestionWrapper_1.QuestionWrapper, { question: question, fieldState: fieldState },
32
+ react_1["default"].createElement(MainLabel_1.MainLabel, { question: question }),
33
+ react_1["default"].createElement("div", { className: "description-and-fields" },
34
+ react_1["default"].createElement(QuestionDescription_1.QuestionDescription, { question: question }),
35
+ react_1["default"].createElement("div", { className: "fields" },
36
+ react_1["default"].createElement(react_range_1.Range, { values: [value], onChange: handleChange, min: question.minimum, max: question.maximum, step: question.step, renderTrack: function (_a) {
37
+ var props = _a.props, children = _a.children;
38
+ return (react_1["default"].createElement("div", __assign({}, props, { style: __assign(__assign({}, props.style), trackStyles) }), children));
39
+ }, renderThumb: function (thumbProps) { return renderThumb(__assign(__assign({}, thumbProps), { blank: blank, showTooltip: question.valueTooltip, startThumbHidden: question.startThumbHidden })); }, renderMark: function (_a) {
40
+ var props = _a.props, index = _a.index;
41
+ return (markerLabels[index] !== undefined
42
+ ? renderMark(props, markerLabels[index])
43
+ : null);
44
+ } })))));
45
+ };
46
+ exports.SliderQuestion = SliderQuestion;
47
+ // blank: no value is set in fieldState
48
+ // showTooltip: how a tooltip with the value while dragging
49
+ // startThumbHidden:
50
+ // if set: hide thumb while <blank>
51
+ // if not set: thumb appears a very translucent grey when <blank>
52
+ var renderThumb = function (_a) {
53
+ var props = _a.props, value = _a.value, index = _a.index, isDragged = _a.isDragged, blank = _a.blank, showTooltip = _a.showTooltip, startThumbHidden = _a.startThumbHidden;
54
+ if (startThumbHidden && blank) {
55
+ return react_1["default"].createElement("div", __assign({}, props));
56
+ }
57
+ return (react_1["default"].createElement("div", __assign({}, props, { style: __assign(__assign(__assign(__assign({}, props.style), baseThumbStyles), (isDragged && isDraggedThumbStyles)), (blank && invalidThumbStyles)) }),
58
+ "||",
59
+ showTooltip && isDragged && react_1["default"].createElement("div", { style: labelStyles }, value)));
60
+ };
61
+ // Outer div is vertical bar.
62
+ // inner div is absolutely center positioned label.
63
+ // Note: Labels will take no action to avoid eachother!
64
+ var renderMark = function (props, label) { return (react_1["default"].createElement("div", __assign({}, props, { style: __assign(__assign({}, props.style), { top: '18px', marginTop: 0, height: '9px', width: '1px', backgroundColor: '#d3d3d3' }) }),
65
+ react_1["default"].createElement("div", { style: {
66
+ position: 'absolute',
67
+ top: '8px',
68
+ transform: label.first
69
+ ? null
70
+ : label.last
71
+ ? 'translateX(-100%)'
72
+ : 'translateX(-50%)'
73
+ }, dangerouslySetInnerHTML: { __html: label.text } }))); };
74
+ // {<markerIndex>: {text: .., first: true, last: false}}
75
+ // There can be hundreds of markers, but we'll only ever show the ones with a label.
76
+ var calculateMarkerLabels = function (question) {
77
+ if (question.labels.length === 0)
78
+ return {};
79
+ var nroMarkers = (question.maximum - question.minimum) / question.step;
80
+ var markerLabels = {};
81
+ question.labels.forEach(function (label, labelIndex) {
82
+ var markerIdx = Math.floor((labelIndex * nroMarkers / (question.labels.length - 1)));
83
+ markerLabels[markerIdx] = { text: label, first: labelIndex === 0, last: labelIndex === question.labels.length - 1 };
84
+ });
85
+ return markerLabels;
86
+ };
87
+ var trackStyles = {
88
+ border: '1px solid #d3d3d3',
89
+ background: '#fafafa',
90
+ height: '18px',
91
+ borderRadius: '4px',
92
+ marginBottom: '18px',
93
+ boxShadow: 'inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB'
94
+ };
95
+ var baseThumbStyles = {
96
+ height: '28px',
97
+ width: '34px',
98
+ textAlign: 'center',
99
+ lineHeight: '27px',
100
+ backgroundColor: "rgba(27,124,194,0.7)",
101
+ color: '#E8E7E6',
102
+ border: '1px solid #9AC1DD',
103
+ borderRadius: '3px',
104
+ boxShadow: 'inset 0 0 1px #FFF, inset 0 1px 7px #9AC1DD, 0 3px 6px -3px #9AC1DD'
105
+ };
106
+ var isDraggedThumbStyles = {
107
+ boxShadow: 'inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB'
108
+ };
109
+ var invalidThumbStyles = {
110
+ backgroundColor: "rgba(255, 255, 255, .5)",
111
+ boxShadow: 'none',
112
+ border: '1px solid #D9D9D9'
113
+ };
114
+ var labelStyles = {
115
+ position: 'absolute',
116
+ top: '-28px',
117
+ left: '17px',
118
+ transform: 'translateX(-50%)',
119
+ color: '#000',
120
+ fontWeight: 'bold',
121
+ padding: '4px'
122
+ };
123
+ //# sourceMappingURL=SliderQuestion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SliderQuestion.js","sourceRoot":"","sources":["../../../src/components/questions/SliderQuestion.tsx"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import { IStringQuestion, IFieldState } from "../../core";
3
3
  interface Props {
4
4
  question: IStringQuestion;
5
- fieldState: IFieldState;
5
+ fieldState: IFieldState<string>;
6
6
  }
7
7
  export declare const StringQuestion: React.FunctionComponent<Props>;
8
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"StringQuestion.d.ts","sourceRoot":"","sources":["../../../src/components/questions/StringQuestion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAU,WAAW,EAAE,MAAM,YAAY,CAAC;AAKlE,UAAU,KAAK;IACb,QAAQ,EAAE,eAAe,CAAC;IAC1B,UAAU,EAAE,WAAW,CAAC;CACzB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAsBzD,CAAC"}
1
+ {"version":3,"file":"StringQuestion.d.ts","sourceRoot":"","sources":["../../../src/components/questions/StringQuestion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAU,WAAW,EAAE,MAAM,YAAY,CAAC;AAKlE,UAAU,KAAK;IACb,QAAQ,EAAE,eAAe,CAAC;IAC1B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAqBzD,CAAC"}
@@ -3,17 +3,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  exports.__esModule = true;
6
+ exports.StringQuestion = void 0;
6
7
  var react_1 = __importDefault(require("react"));
7
8
  var classnames_1 = __importDefault(require("classnames"));
8
9
  var MainLabel_1 = require("../MainLabel");
9
10
  var QuestionWrapper_1 = require("../QuestionWrapper");
10
11
  var QuestionDescription_1 = require("../QuestionDescription");
11
- exports.StringQuestion = function (_a) {
12
+ var StringQuestion = function (_a) {
12
13
  var question = _a.question, fieldState = _a.fieldState;
13
14
  var handleChange = function (event) {
14
15
  fieldState.setValue(event.target.value);
15
16
  };
16
- var className = classnames_1["default"](question.type, {
17
+ var className = (0, classnames_1["default"])(question.type, {
17
18
  sized: !!question.size,
18
19
  subitem: false // TODO
19
20
  });
@@ -22,10 +23,10 @@ exports.StringQuestion = function (_a) {
22
23
  react_1["default"].createElement("div", { className: "description-and-fields" },
23
24
  react_1["default"].createElement(QuestionDescription_1.QuestionDescription, { question: question }),
24
25
  react_1["default"].createElement("div", { className: "fields", id: htmlId(question) },
25
- react_1["default"].createElement("input", { type: "text", className: className, value: fieldState.value || "", onChange: handleChange }),
26
- question.unit))));
26
+ react_1["default"].createElement("input", { type: "text", className: className, value: fieldState.value || "", size: question.size, onChange: handleChange })))));
27
27
  };
28
+ exports.StringQuestion = StringQuestion;
28
29
  function htmlId(question) {
29
- return "answer_" + question.key + "_input";
30
+ return "answer_".concat(question.key, "_input");
30
31
  }
31
32
  //# sourceMappingURL=StringQuestion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StringQuestion.js","sourceRoot":"","sources":["../../../src/components/questions/StringQuestion.tsx"],"names":[],"mappings":";;;;;AAAA,gDAA0B;AAC1B,0DAAoC;AAEpC,0CAAyC;AACzC,sDAAqD;AACrD,8DAA6D;AAOhD,QAAA,cAAc,GAAmC,UAAC,EAAwB;QAAtB,sBAAQ,EAAE,0BAAU;IACnF,IAAM,YAAY,GAAG,UAAA,KAAK;QACxB,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC;IACF,IAAM,SAAS,GAAG,uBAAU,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC1C,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;IAEH,OAAO,CACL,iCAAC,iCAAe,IAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU;QACzD,iCAAC,qBAAS,IAAC,QAAQ,EAAE,QAAQ,GAAI;QACjC,0CAAK,SAAS,EAAC,wBAAwB;YACrC,iCAAC,yCAAmB,IAAC,QAAQ,EAAE,QAAQ,GAAI;YAC3C,0CAAK,SAAS,EAAC,QAAQ,EAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAE1C,4CAAO,IAAI,EAAC,MAAM,EAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,GAAI;gBACjG,QAAQ,CAAC,IAAI,CACV,CACF,CACU,CACnB,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,MAAM,CAAC,QAAgB;IAC9B,OAAO,YAAU,QAAQ,CAAC,GAAG,WAAQ,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"StringQuestion.js","sourceRoot":"","sources":["../../../src/components/questions/StringQuestion.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAC1B,0DAAoC;AAEpC,0CAAyC;AACzC,sDAAqD;AACrD,8DAA6D;AAOtD,IAAM,cAAc,GAAmC,UAAC,EAAwB;QAAtB,QAAQ,cAAA,EAAE,UAAU,gBAAA;IACnF,IAAM,YAAY,GAAG,UAAA,KAAK;QACxB,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC;IACF,IAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,QAAQ,CAAC,IAAI,EAAE;QAC1C,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;IAEH,OAAO,CACL,iCAAC,iCAAe,IAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU;QACzD,iCAAC,qBAAS,IAAC,QAAQ,EAAE,QAAQ,GAAI;QACjC,0CAAK,SAAS,EAAC,wBAAwB;YACrC,iCAAC,yCAAmB,IAAC,QAAQ,EAAE,QAAQ,GAAI;YAC3C,0CAAK,SAAS,EAAC,QAAQ,EAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAE1C,4CAAO,IAAI,EAAC,MAAM,EAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,GAAI,CACnH,CACF,CACU,CACnB,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,cAAc,kBAqBzB;AAEF,SAAS,MAAM,CAAC,QAAgB;IAC9B,OAAO,iBAAU,QAAQ,CAAC,GAAG,WAAQ,CAAC;AACxC,CAAC"}
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import { ITextareaQuestion, IFieldState } from "../../core";
3
3
  interface Props {
4
4
  question: ITextareaQuestion;
5
- fieldState: IFieldState;
5
+ fieldState: IFieldState<string>;
6
6
  }
7
7
  export declare const TextareaQuestion: React.FunctionComponent<Props>;
8
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"TextareaQuestion.d.ts","sourceRoot":"","sources":["../../../src/components/questions/TextareaQuestion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAU,WAAW,EAAE,MAAM,YAAY,CAAC;AAKpE,UAAU,KAAK;IACb,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,WAAW,CAAC;CACzB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAqB3D,CAAC"}
1
+ {"version":3,"file":"TextareaQuestion.d.ts","sourceRoot":"","sources":["../../../src/components/questions/TextareaQuestion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAU,WAAW,EAAE,MAAM,YAAY,CAAC;AAKpE,UAAU,KAAK;IACb,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAqB3D,CAAC"}
@@ -3,17 +3,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  exports.__esModule = true;
6
+ exports.TextareaQuestion = void 0;
6
7
  var react_1 = __importDefault(require("react"));
7
8
  var classnames_1 = __importDefault(require("classnames"));
8
9
  var MainLabel_1 = require("../MainLabel");
9
10
  var QuestionWrapper_1 = require("../QuestionWrapper");
10
11
  var QuestionDescription_1 = require("../QuestionDescription");
11
- exports.TextareaQuestion = function (_a) {
12
+ var TextareaQuestion = function (_a) {
12
13
  var question = _a.question, fieldState = _a.fieldState;
13
14
  var handleChange = function (event) {
14
15
  fieldState.setValue(event.target.value);
15
16
  };
16
- var className = classnames_1["default"](question.type, {
17
+ var className = (0, classnames_1["default"])(question.type, {
17
18
  // sized: !!question.size,
18
19
  subitem: false // TODO
19
20
  });
@@ -22,9 +23,10 @@ exports.TextareaQuestion = function (_a) {
22
23
  react_1["default"].createElement("div", { className: "description-and-fields" },
23
24
  react_1["default"].createElement(QuestionDescription_1.QuestionDescription, { question: question }),
24
25
  react_1["default"].createElement("div", { className: "fields", id: htmlId(question) },
25
- react_1["default"].createElement("textarea", { className: className, value: fieldState.value || "", onChange: handleChange })))));
26
+ react_1["default"].createElement("textarea", { className: className, value: fieldState.value || "", rows: question.lines, onChange: handleChange })))));
26
27
  };
28
+ exports.TextareaQuestion = TextareaQuestion;
27
29
  function htmlId(question) {
28
- return "answer_" + question.key + "_input";
30
+ return "answer_".concat(question.key, "_input");
29
31
  }
30
32
  //# sourceMappingURL=TextareaQuestion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextareaQuestion.js","sourceRoot":"","sources":["../../../src/components/questions/TextareaQuestion.tsx"],"names":[],"mappings":";;;;;AAAA,gDAA0B;AAC1B,0DAAoC;AAEpC,0CAAyC;AACzC,sDAAqD;AACrD,8DAA6D;AAOhD,QAAA,gBAAgB,GAAmC,UAAC,EAAwB;QAAtB,sBAAQ,EAAE,0BAAU;IACrF,IAAM,YAAY,GAAG,UAAA,KAAK;QACxB,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC;IACF,IAAM,SAAS,GAAG,uBAAU,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC1C,0BAA0B;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;IAEH,OAAO,CACL,iCAAC,iCAAe,IAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU;QACzD,iCAAC,qBAAS,IAAC,QAAQ,EAAE,QAAQ,GAAI;QACjC,0CAAK,SAAS,EAAC,wBAAwB;YACrC,iCAAC,yCAAmB,IAAC,QAAQ,EAAE,QAAQ,GAAI;YAC3C,0CAAK,SAAS,EAAC,QAAQ,EAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAE1C,+CAAU,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,GAAI,CACrF,CACF,CACU,CACnB,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,MAAM,CAAC,QAAgB;IAC9B,OAAO,YAAU,QAAQ,CAAC,GAAG,WAAQ,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"TextareaQuestion.js","sourceRoot":"","sources":["../../../src/components/questions/TextareaQuestion.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAC1B,0DAAoC;AAEpC,0CAAyC;AACzC,sDAAqD;AACrD,8DAA6D;AAOtD,IAAM,gBAAgB,GAAmC,UAAC,EAAwB;QAAtB,QAAQ,cAAA,EAAE,UAAU,gBAAA;IACrF,IAAM,YAAY,GAAG,UAAA,KAAK;QACxB,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC;IACF,IAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,QAAQ,CAAC,IAAI,EAAE;QAC1C,0BAA0B;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;IAEH,OAAO,CACL,iCAAC,iCAAe,IAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU;QACzD,iCAAC,qBAAS,IAAC,QAAQ,EAAE,QAAQ,GAAI;QACjC,0CAAK,SAAS,EAAC,wBAAwB;YACrC,iCAAC,yCAAmB,IAAC,QAAQ,EAAE,QAAQ,GAAI;YAC3C,0CAAK,SAAS,EAAC,QAAQ,EAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAE1C,+CAAU,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,GAAI,CAC3G,CACF,CACU,CACnB,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,gBAAgB,oBAqB3B;AAEF,SAAS,MAAM,CAAC,QAAgB;IAC9B,OAAO,iBAAU,QAAQ,CAAC,GAAG,WAAQ,CAAC;AACxC,CAAC"}
@@ -1,4 +1,4 @@
1
- export * from "./models";
1
+ export * from "./questionnaire_json";
2
2
  export * from "./questionnaire";
3
3
  export * from "./response";
4
4
  export * from "./validators";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
package/lib/core/index.js CHANGED
@@ -1,9 +1,17 @@
1
1
  "use strict";
2
- function __export(m) {
3
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
4
- }
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
5
12
  exports.__esModule = true;
6
- __export(require("./questionnaire"));
7
- __export(require("./response"));
8
- __export(require("./validators"));
13
+ __exportStar(require("./questionnaire_json"), exports);
14
+ __exportStar(require("./questionnaire"), exports);
15
+ __exportStar(require("./response"), exports);
16
+ __exportStar(require("./validators"), exports);
9
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;;;AACA,qCAAgC;AAChC,gCAA2B;AAC3B,kCAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAAqC;AACrC,kDAAgC;AAChC,6CAA2B;AAC3B,+CAA6B"}
@@ -0,0 +1,6 @@
1
+ import { IValue, IFieldState, IValidationFieldState } from "./response";
2
+ import { ValidatableResponse } from "./validators";
3
+ export declare function mockFieldState<T extends IValue>(key: string, value: T): IFieldState<T>;
4
+ export declare function mockValidationFieldState<T extends IValue>(key: string, value: T): IValidationFieldState<T>;
5
+ export declare function mockResponse<T>(values: object): ValidatableResponse;
6
+ //# sourceMappingURL=mock_helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock_helpers.d.ts","sourceRoot":"","sources":["../../src/core/mock_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,kBAUrE;AAED,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,4BAK/E;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,uBAkB7C"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.mockResponse = exports.mockValidationFieldState = exports.mockFieldState = void 0;
4
+ function mockFieldState(key, value) {
5
+ return {
6
+ key: "",
7
+ hidden: false,
8
+ value: value,
9
+ valid: true,
10
+ touched: false,
11
+ errors: [],
12
+ setValue: function (value) { }
13
+ };
14
+ }
15
+ exports.mockFieldState = mockFieldState;
16
+ function mockValidationFieldState(key, value) {
17
+ return {
18
+ value: value,
19
+ addError: jest.fn()
20
+ };
21
+ }
22
+ exports.mockValidationFieldState = mockValidationFieldState;
23
+ function mockResponse(values) {
24
+ var fieldStates = {};
25
+ var validationFieldStates = {};
26
+ for (var key in values) {
27
+ var value = values[key];
28
+ fieldStates[key] = mockFieldState(key, values[key]);
29
+ validationFieldStates[key] = mockValidationFieldState(key, values[key]);
30
+ }
31
+ return {
32
+ getFieldState: function (key) {
33
+ return fieldStates[key];
34
+ },
35
+ getValidationFieldState: function (key) {
36
+ return validationFieldStates[key];
37
+ }
38
+ };
39
+ }
40
+ exports.mockResponse = mockResponse;
41
+ //# sourceMappingURL=mock_helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock_helpers.js","sourceRoot":"","sources":["../../src/core/mock_helpers.ts"],"names":[],"mappings":";;;AAGA,SAAgB,cAAc,CAAmB,GAAW,EAAE,KAAQ;IACpE,OAAO;QACL,GAAG,EAAE,EAAE;QACP,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,UAAC,KAAQ,IAAO,CAAC;KACV,CAAC;AACtB,CAAC;AAVD,wCAUC;AAED,SAAgB,wBAAwB,CAAmB,GAAW,EAAE,KAAQ;IAC9E,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;KACQ,CAAC;AAChC,CAAC;AALD,4DAKC;AAED,SAAgB,YAAY,CAAI,MAAc;IAC5C,IAAM,WAAW,GAAG,EAAE,CAAC;IACvB,IAAM,qBAAqB,GAAG,EAAE,CAAC;IAEjC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;QACtB,IAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,WAAW,CAAC,GAAG,CAAC,GAAG,cAAc,CAAe,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,qBAAqB,CAAC,GAAG,CAAC,GAAG,wBAAwB,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;KACzE;IAED,OAAO;QACL,aAAa,EAAE,UAAC,GAAG;YACjB,OAAO,WAAW,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC;QACD,uBAAuB,EAAE,UAAC,GAAG;YAC3B,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;KACqB,CAAC;AAC3B,CAAC;AAlBD,oCAkBC"}
@@ -1,8 +1,10 @@
1
- import { IQuestionnaire, IField, IPanel, IValidation, IFields } from "./models";
1
+ import { IQuestionnaire, IField, IPanel, IValidation, IFields } from "./questionnaire_json";
2
+ import { VisibilityRule } from "./visibility_rules";
2
3
  export declare class Questionnaire {
3
4
  panels: IPanel[];
4
5
  fields: IFields;
5
6
  validations: IValidation[];
7
+ visibilityRules: VisibilityRule[];
6
8
  constructor(data: IQuestionnaire);
7
9
  getField(key: string): IField;
8
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"questionnaire.d.ts","sourceRoot":"","sources":["../../src/core/questionnaire.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEhF,qBAAa,aAAa;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,WAAW,EAAE,CAAC;gBAEf,IAAI,EAAE,cAAc;IAMhC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAG9B"}
1
+ {"version":3,"file":"questionnaire.d.ts","sourceRoot":"","sources":["../../src/core/questionnaire.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAuB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzE,qBAAa,aAAa;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,eAAe,EAAE,cAAc,EAAE,CAAC;gBAEtB,IAAI,EAAE,cAAc;IAOhC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAG9B"}
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
2
  exports.__esModule = true;
3
+ exports.Questionnaire = void 0;
4
+ var visibility_rules_1 = require("./visibility_rules");
3
5
  var Questionnaire = /** @class */ (function () {
4
6
  function Questionnaire(data) {
5
7
  this.fields = data.fields;
6
8
  this.panels = data.panels;
7
9
  this.validations = data.validations;
10
+ this.visibilityRules = data.visibilityRules.map(function (rule) { return (0, visibility_rules_1.buildVisibilityRule)(rule); });
8
11
  }
9
12
  Questionnaire.prototype.getField = function (key) {
10
13
  return this.fields[key];
@@ -1 +1 @@
1
- {"version":3,"file":"questionnaire.js","sourceRoot":"","sources":["../../src/core/questionnaire.ts"],"names":[],"mappings":";;AAEA;IAKE,uBAAY,IAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACtC,CAAC;IAED,gCAAQ,GAAR,UAAS,GAAW;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACH,oBAAC;AAAD,CAAC,AAdD,IAcC;AAdY,sCAAa"}
1
+ {"version":3,"file":"questionnaire.js","sourceRoot":"","sources":["../../src/core/questionnaire.ts"],"names":[],"mappings":";;;AACA,uDAAyE;AAEzE;IAME,uBAAY,IAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAA,sCAAmB,EAAC,IAAI,CAAC,EAAzB,CAAyB,CAAC,CAAC;IACrF,CAAC;IAED,gCAAQ,GAAR,UAAS,GAAW;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACH,oBAAC;AAAD,CAAC,AAhBD,IAgBC;AAhBY,sCAAa"}
@@ -2,6 +2,7 @@ export interface ITranslatable {
2
2
  t: string;
3
3
  [interpolationKey: string]: string;
4
4
  }
5
+ export declare type DatePartsComponent = "day" | "month" | "year" | "hour" | "minute";
5
6
  export declare type IValidation = IRequiresAnswerValidation | IValidIntegerValidation | IValidFloatValidation | IValidDateValidation | IMinimumValidation | IMaximumValidation | IRegexpValidation | IAnswerGroupMinimumValidation | IAnswerGroupMaximumValidation | IMaximumCheckedAllowedValidation | IMinimumCheckedRequiredValidation;
6
7
  export interface IRequiresAnswerValidation {
7
8
  type: "requires_answer";
@@ -17,6 +18,9 @@ export interface IValidFloatValidation {
17
18
  }
18
19
  export interface IValidDateValidation {
19
20
  type: "valid_date";
21
+ subtype: string;
22
+ fieldKey: string;
23
+ requiredParts: DatePartsComponent[];
20
24
  }
21
25
  export interface IMinimumValidation {
22
26
  type: "minimum";
@@ -58,36 +62,67 @@ interface IBaseField {
58
62
  questionGroup?: string | null;
59
63
  as?: string | null;
60
64
  }
61
- export interface IDateQuestion extends IBaseField {
62
- type: "date";
63
- components: any;
65
+ interface DatePart {
66
+ part: DatePartsComponent;
67
+ key: string;
68
+ }
69
+ export interface IDatePartsQuestion extends IBaseField {
70
+ type: "date_parts";
71
+ as: "date_parts";
72
+ dateParts: DatePart[];
64
73
  }
65
74
  export interface IStringQuestion extends IBaseField {
66
75
  type: "string";
67
- unit: string;
68
- size: number;
76
+ as: "string";
77
+ unit: string | null;
78
+ size: number | null;
69
79
  }
70
80
  export interface ITextareaQuestion extends IBaseField {
71
81
  type: "textarea";
82
+ as: "textarea";
83
+ lines: number;
84
+ cols: number;
72
85
  }
73
- export interface IIntegerQuestion extends IBaseField {
86
+ interface INumberQuestion {
87
+ minimum?: number | null;
88
+ maximum?: number | null;
89
+ }
90
+ export interface IIntegerQuestion extends IBaseField, INumberQuestion {
74
91
  type: "integer";
92
+ as: "integer";
93
+ size: number;
94
+ unit: string | null;
75
95
  }
76
- export interface IFloatQuestion extends IBaseField {
96
+ export interface IFloatQuestion extends IBaseField, INumberQuestion {
77
97
  type: "float";
98
+ as: "float";
99
+ size: number;
100
+ unit: string | null;
101
+ }
102
+ export interface ISliderQuestion extends IBaseField, INumberQuestion {
103
+ type: "float" | "integer";
104
+ as: "slider";
105
+ step: number;
106
+ defaultPosition: number;
107
+ labels: string[];
108
+ startThumbHidden: boolean;
109
+ valueTooltip: boolean;
78
110
  }
79
111
  export interface ISelectQuestion extends IBaseField {
80
112
  type: "select";
113
+ as: "select";
81
114
  options: IOption[];
82
115
  deselectable: boolean;
83
116
  }
84
117
  export interface IRadioQuestion extends IBaseField {
85
118
  type: "radio" | "scale";
119
+ as: "radio" | "scale";
86
120
  options: IOption[];
87
121
  deselectable: boolean;
88
122
  }
89
123
  export interface ICheckBoxQuestion extends IBaseField {
90
124
  type: "check_box";
125
+ as: "check_box";
91
126
  options: IOption[];
92
127
  deselectable: boolean;
93
128
  }
@@ -103,19 +138,19 @@ export interface IOption {
103
138
  questions: IField[];
104
139
  viewId: string;
105
140
  }
106
- export declare type IField = IDateQuestion | IStringQuestion | ITextareaQuestion | IIntegerQuestion | IFloatQuestion | IRadioQuestion | ISelectQuestion | ICheckBoxQuestion;
141
+ export declare type IField = IDatePartsQuestion | IStringQuestion | ITextareaQuestion | IIntegerQuestion | IFloatQuestion | ISliderQuestion | IRadioQuestion | ISelectQuestion | ICheckBoxQuestion;
107
142
  export interface IFields {
108
143
  [key: string]: IField;
109
144
  }
110
- export interface IMarkdownItem {
111
- type: "markdown";
112
- markdown: string;
145
+ export interface IHtmlItem {
146
+ type: 'html';
147
+ html: string;
113
148
  }
114
149
  export interface IQuestionItem {
115
150
  type: "question";
116
151
  key: string;
117
152
  }
118
- export declare type IPanelItem = IMarkdownItem | IQuestionItem;
153
+ export declare type IPanelItem = IHtmlItem | IQuestionItem;
119
154
  export interface IPanel {
120
155
  title: string;
121
156
  items: IPanelItem[];
@@ -136,7 +171,7 @@ export interface IVisibilityConditionAlways {
136
171
  export interface IVisibilityConditionFlagEqual {
137
172
  type: "flag_equal";
138
173
  flagKey: string;
139
- value: boolean;
174
+ triggerOn: boolean;
140
175
  }
141
176
  export interface IVisibilityThenShow {
142
177
  type: "show_question";
@@ -1 +1 @@
1
- {"version":3,"file":"questionnaire_json.d.ts","sourceRoot":"","sources":["../../src/core/questionnaire_json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"questionnaire_json.d.ts","sourceRoot":"","sources":["../../src/core/questionnaire_json.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,60 @@
1
1
  import { Questionnaire } from "./questionnaire";
2
- import { ITranslatable, IValidation } from "./models";
2
+ import { DatePartsComponent, ITranslatable, IValidation } from "./questionnaire_json";
3
3
  export interface IAnswerFromServer {
4
4
  value: IValues;
5
+ flags: IFlags;
5
6
  }
7
+ export declare type IValue = string | number | Date | Set<string> | Map<DatePartsComponent, string> | null;
6
8
  export interface IValues {
7
- [key: string]: FieldValue;
9
+ [key: string]: IValue;
10
+ }
11
+ export interface IFlags {
12
+ [key: string]: boolean;
8
13
  }
9
14
  export interface IError {
10
15
  type: IValidation["type"];
11
16
  message: ITranslatable;
12
17
  }
13
- export interface IFieldState {
14
- value: FieldValue;
18
+ export interface IVisibility {
19
+ shown: boolean;
20
+ hidden: boolean;
21
+ }
22
+ export interface IValidated {
15
23
  touched: boolean;
16
24
  valid: boolean;
17
25
  errors: IError[];
18
- setValue: (newValue: FieldValue) => void;
26
+ }
27
+ export interface IFieldState<T extends IValue> extends IValidated {
28
+ key: string;
29
+ value: T | null | undefined;
30
+ hidden: boolean;
31
+ setValue: (newValue: T | null) => void;
32
+ }
33
+ export interface IValidationFieldState<T extends IValue> {
34
+ value: T;
19
35
  addError: (error: IError) => void;
20
36
  }
21
- export declare type FieldValue = string | null;
22
37
  declare type IChangeCallback = (response: Response) => void;
23
38
  export declare class Response {
24
39
  questionnaire: Questionnaire;
25
40
  values: IValues;
26
41
  errors: Map<string, IError[]>;
42
+ visibility: Map<string, IVisibility>;
27
43
  changeHandlers: IChangeCallback[];
44
+ flags: IFlags;
28
45
  constructor(questionnaire: Questionnaire, answer: IAnswerFromServer);
29
46
  onChange(callback: IChangeCallback): void;
30
- getFieldState(key: string): IFieldState;
31
- setValue(key: string, value: any): void;
47
+ offChange(callback: IChangeCallback): void;
48
+ getFieldState<T extends IValue>(key: string): IFieldState<T>;
49
+ getValidationFieldState<T extends IValue>(key: string): IValidationFieldState<T>;
50
+ setValue<T extends IValue>(key: string, value: T): void;
32
51
  addError(key: string, error: IError): void;
33
52
  touchField(key: string): void;
34
53
  validate(): void;
54
+ calculateVisibility(): void;
55
+ markShown(fieldKey: string): void;
56
+ markHidden(fieldKey: string): void;
57
+ isVisible(fieldKey: string): boolean;
35
58
  }
36
59
  export {};
37
60
  //# sourceMappingURL=response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;CAC3B;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,EAAE,aAAa,CAAA;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,IAAI,CAAC;IACzC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,oBAAY,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;AAEvC,aAAK,eAAe,GAAG,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;AAEpD,qBAAa,QAAQ;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9B,cAAc,EAAE,eAAe,EAAE,CAAC;gBAEtB,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB;IAOnE,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAIlC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAWvC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,KAAA;IAM3B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAQnC,UAAU,CAAC,GAAG,EAAE,MAAM;IAMtB,QAAQ;CAUT"}
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAmB,MAAM,sBAAsB,CAAC;AAGvG,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAID,oBAAY,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;AAEnG,MAAM,WAAW,OAAO;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,EAAE,aAAa,CAAA;CACvB;AACD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,UAAU;IAC/D,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,MAAM;IACrD,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,aAAK,eAAe,GAAG,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;AAEpD,qBAAa,QAAQ;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,cAAc,EAAE,eAAe,EAAE,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;gBAEF,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB;IAUnE,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAIlC,SAAS,CAAC,QAAQ,EAAE,eAAe;IAInC,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;IAY5D,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC;IAOhF,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAOhD,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAQnC,UAAU,CAAC,GAAG,EAAE,MAAM;IAOtB,QAAQ;IAWR,mBAAmB;IAQnB,SAAS,CAAC,QAAQ,EAAE,MAAM;IAM1B,UAAU,CAAC,QAAQ,EAAE,MAAM;IAM3B,SAAS,CAAC,QAAQ,EAAE,MAAM;CAK3B"}