@indec/form-builder
Version:
Form builder
51 lines (50 loc) • 1.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _questionTypes = _interopRequireDefault(require("../../../../constants/questionTypes"));
var _getSelectedOptionLabel = _interopRequireDefault(require("../../../../utils/getSelectedOptionLabel"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
var getHeaders = function getHeaders(questions, values, headers) {
if (headers.some(function (header) {
return header.question;
})) {
var headerQuestions = headers.map(function (header) {
return header.question;
});
return questions.reduce(function (acc, question) {
var _values$question$name;
if (headerQuestions.includes(question.id) && !question.multiple && (_values$question$name = values[question.name].answer) !== null && _values$question$name !== void 0 && _values$question$name.value) {
var value = values[question.name].answer.value;
if ([_questionTypes["default"].TEXT_FIELD, _questionTypes["default"].NUMERIC_FIELD].includes(question.type)) {
acc.push(value);
} else {
acc.push((0, _getSelectedOptionLabel["default"])(question.options, value));
}
}
return acc;
}, []).join(' | ');
}
return '';
};
function Headers(_ref) {
var section = _ref.section,
values = _ref.values;
var headers = getHeaders(section.questions, values, section.headers);
var isHTML = /<[^>]+>/g.test(headers);
if (isHTML) {
// eslint-disable-next-line react/no-danger
return /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
dangerouslySetInnerHTML: {
__html: headers
},
className: "whitespace-pre-line"
});
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
children: headers
});
}
var _default = exports["default"] = Headers;