UNPKG

@indec/form-builder

Version:

Form builder

142 lines (141 loc) 4.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _questionActions = _interopRequireDefault(require("../constants/questionActions")); var _questionTypes = _interopRequireDefault(require("../constants/questionTypes")); var _getNavigation = _interopRequireDefault(require("./getNavigation")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } var isNumericOrCurrency = function isNumericOrCurrency(type) { return [_questionTypes["default"].NUMERIC_FIELD, _questionTypes["default"].CURRENCY].includes(type); }; var getQuestionProps = function getQuestionProps(_ref) { var sectionIndex = _ref.sectionIndex, section = _ref.section, question = _ref.question, values = _ref.values, disabled = _ref.disabled, warnings = _ref.warnings, initialValues = _ref.initialValues, sections = _ref.sections; var number = question.number, label = question.label, multiple = question.multiple, subQuestions = question.subQuestions, type = question.type, placeholder = question.placeholder, name = question.name, options = question.options, metadata = question.metadata, _question$navigation = question.navigation, navigation = _question$navigation === void 0 ? [] : _question$navigation, introduction = question.introduction, _question$multiline = question.multiline, multiline = _question$multiline === void 0 ? false : _question$multiline, disabledByDefault = question.disabled; var questionName = section ? "".concat(section.name, ".").concat(sectionIndex, ".").concat(name, ".answer") : ''; var jump = section ? (0, _getNavigation["default"])({ navigation: navigation, answers: values, section: section, initialValues: initialValues, sections: sections }) : ''; var show = Object.prototype.hasOwnProperty.call(question, 'hide') ? false : (jump === null || jump === void 0 ? void 0 : jump.action) !== _questionActions["default"].HIDE; var isDisabled = (jump === null || jump === void 0 ? void 0 : jump.action) === _questionActions["default"].DISABLE || disabled; var props; switch (type) { case _questionTypes["default"].NUMERIC_FIELD: case _questionTypes["default"].TEXT_FIELD: case _questionTypes["default"].CURRENCY: props = { label: { text: label, number: number, introduction: introduction }, placeholder: !placeholder && isNumericOrCurrency(type) ? 'Ingrese Valor' : placeholder, name: questionName, type: [_questionTypes["default"].TEXT_FIELD, _questionTypes["default"].CURRENCY].includes(type) ? 'text' : 'number', disabled: disabledByDefault || isDisabled, warnings: warnings, isMultiple: multiple, values: values[name], subQuestions: subQuestions, show: show, multiline: type === _questionTypes["default"].TEXT_FIELD ? multiline : false }; break; case _questionTypes["default"].DROPDOWN: props = { label: { text: label, number: number, introduction: introduction }, placeholder: placeholder, name: questionName, options: options, disabled: disabledByDefault || isDisabled, isMultiple: multiple, warnings: warnings, values: values[name], subQuestions: subQuestions, show: show }; break; case _questionTypes["default"].RADIO: case _questionTypes["default"].CHECKBOX: case _questionTypes["default"].RADIO_TABLE: props = { label: { text: label, number: number, introduction: introduction }, name: questionName, options: options, disabled: disabledByDefault || isDisabled, isMultiple: multiple, warnings: warnings, values: values[name], subQuestions: subQuestions, show: show }; break; case _questionTypes["default"].DATE: props = { label: { text: label, number: number, introduction: introduction }, placeholder: placeholder, name: questionName, disabled: disabledByDefault || isDisabled, isMultiple: multiple, metadata: metadata, warnings: warnings, values: values[name], subQuestions: subQuestions, show: show }; break; case _questionTypes["default"].MESSAGE: props = { message: label, show: show }; break; default: return props; } return { props: props, questionName: questionName, jump: jump, questionType: type }; }; var _default = exports["default"] = getQuestionProps;