infinity-forge
Version:
53 lines • 2.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.I18nObserver = I18nObserver;
var jsx_runtime_1 = require("react/jsx-runtime");
var react_1 = require("react");
var handler_1 = require("../../handler/index.js");
var formik_1 = require("formik");
function I18nObserver(props) {
var _a = (0, react_1.useState)(false), init = _a[0], setInit = _a[1];
var i18n = (0, handler_1.useFormHandler)().i18n;
var _b = (0, formik_1.useFormikContext)(), values = _b.values, initialValues = _b.initialValues, setFieldValue = _b.setFieldValue;
var fieldValue = (0, formik_1.getIn)(values, props.name);
var fieldInitialValue = (0, formik_1.getIn)(initialValues, props.name);
var languageSelected = i18n === null || i18n === void 0 ? void 0 : i18n.languageSelected;
var nameFieldByLanguage = 'jsonContent.i18n.' + languageSelected + '.' + props.name;
var fieldValueByLanguage = (0, formik_1.getIn)(values, nameFieldByLanguage);
//esse cara quando muda a bandeira altera o valor do campo para o valor que está dentro do i18n
(0, react_1.useEffect)(function () {
var _a;
if (init) {
if (!i18n) {
return;
}
console.log(languageSelected, fieldValueByLanguage, '@@@');
if (!((_a = props === null || props === void 0 ? void 0 : props.i18n) === null || _a === void 0 ? void 0 : _a.disabled)) {
if (!fieldValueByLanguage && languageSelected !== 'pt-BR') {
setFieldValue(props.name, '');
return;
}
if (fieldValueByLanguage === undefined && languageSelected === 'pt-BR') {
setFieldValue(props.name, fieldInitialValue);
return;
}
if (fieldValueByLanguage) {
setFieldValue(props.name, fieldValueByLanguage);
}
}
}
}, [languageSelected, init]);
//esse cara altera dentro do i18n
(0, react_1.useEffect)(function () {
var _a;
setInit(true);
if (!i18n) {
return;
}
if (!((_a = props === null || props === void 0 ? void 0 : props.i18n) === null || _a === void 0 ? void 0 : _a.disabled)) {
setFieldValue(nameFieldByLanguage, fieldValue || '');
}
}, [fieldValue]);
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
}
//# sourceMappingURL=index.js.map