UNPKG

@talend/react-components

Version:
87 lines (86 loc) 3.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = require("react"); var _propTypes = _interopRequireDefault(require("prop-types")); var _reactI18next = require("react-i18next"); var _constants = _interopRequireDefault(require("../../../../constants")); var _translate = _interopRequireDefault(require("../../../../translate")); var _constants2 = require("../constants"); var _Context = require("../Context"); var _Error = _interopRequireDefault(require("./Error.component")); var _ValidationModule = _interopRequireDefault(require("./Validation.module.scss")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function Validation({ t }) { const { errorManagement, formManagement } = (0, _react.useContext)(_Context.DateTimeContext); const { errors, focusedInput, hoursErrorId, minutesErrorId, secondsErrorId, inputErrorId } = errorManagement; const errorsOrder = [inputErrorId, hoursErrorId, minutesErrorId, secondsErrorId]; const errorsMapping = { [inputErrorId]: errors.filter(error => _constants2.INPUT_ERRORS.includes(error.code)), [hoursErrorId]: errors.filter(error => _constants2.HOUR_ERRORS.includes(error.code)), [minutesErrorId]: errors.filter(error => _constants2.MINUTES_ERRORS.includes(error.code)), [secondsErrorId]: errors.filter(error => _constants2.SECONDS_ERRORS.includes(error.code)) }; let visibleErrors = focusedInput; if (!visibleErrors) { visibleErrors = errorsOrder.find(part => errorsMapping[part].length); } return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { className: _ValidationModule.default.validation, children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { className: _ValidationModule.default.errors, children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Error.default, { id: inputErrorId, errors: errorsMapping[inputErrorId], hidden: visibleErrors !== inputErrorId }, "input-errors"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Error.default, { id: hoursErrorId, errors: errorsMapping[hoursErrorId], hidden: visibleErrors !== hoursErrorId }, "hours-errors"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Error.default, { id: minutesErrorId, errors: errorsMapping[minutesErrorId], hidden: visibleErrors !== minutesErrorId }, "minutes-errors"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Error.default, { id: secondsErrorId, errors: errorsMapping[secondsErrorId], hidden: visibleErrors !== secondsErrorId }, "seconds-errors")] }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", { name: "action-datepicker-validate", className: "btn btn-primary", type: "button", "aria-label": t('DATEPICKER_VALIDATE_DESC', { defaultValue: 'Validate date value' }), onClick: formManagement.onSubmit, children: t('DATEPICKER_VALIDATE', { defaultValue: 'Done' }) })] }); } Validation.displayName = 'DateTime.Validation'; Validation.propTypes = { t: _propTypes.default.func }; Validation.defaultProps = { t: (0, _translate.default)() }; var _default = exports.default = (0, _reactI18next.withTranslation)(_constants.default)(Validation); //# sourceMappingURL=Validation.component.js.map