payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
98 lines (97 loc) • 8.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "NullifyLocaleField", {
enumerable: true,
get: function() {
return NullifyLocaleField;
}
});
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
const _reacti18next = require("react-i18next");
const _Banner = require("../../elements/Banner");
const _Config = require("../../utilities/Config");
const _Locale = require("../../utilities/Locale");
const _context = require("../Form/context");
const _Input = require("../field-types/Checkbox/Input");
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return {
default: obj
};
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {
__proto__: null
};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj);
}
return newObj;
}
const NullifyLocaleField = ({ fieldValue, localized, path })=>{
const { dispatchFields, setModified } = (0, _context.useForm)();
const { code: currentLocale } = (0, _Locale.useLocale)();
const { localization } = (0, _Config.useConfig)();
const [checked, setChecked] = _react.useState(typeof fieldValue !== 'number');
const defaultLocale = localization && localization.defaultLocale ? localization.defaultLocale : 'en';
const { t } = (0, _reacti18next.useTranslation)('general');
const onChange = ()=>{
const useFallback = !checked;
dispatchFields({
path,
type: 'UPDATE',
value: useFallback ? null : fieldValue || 0
});
setModified(true);
setChecked(useFallback);
};
if (!localized || currentLocale === defaultLocale || localization && !localization.fallback) {
// hide when field is not localized or editing default locale or when fallback is disabled
return null;
}
if (fieldValue) {
let hideCheckbox = false;
if (typeof fieldValue === 'number' && fieldValue > 0) hideCheckbox = true;
if (Array.isArray(fieldValue) && fieldValue.length > 0) hideCheckbox = true;
if (hideCheckbox) {
if (checked) setChecked(false) // uncheck when field has value
;
return null;
}
}
return /*#__PURE__*/ _react.createElement(_Banner.Banner, null, /*#__PURE__*/ _react.createElement(_Input.CheckboxInput, {
checked: checked,
id: `field-${path.replace(/\./g, '__')}`,
label: t('fallbackToDefaultLocale'),
onToggle: onChange
}));
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL051bGxpZnlGaWVsZC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5cbmltcG9ydCB7IEJhbm5lciB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL0Jhbm5lcidcbmltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9Db25maWcnXG5pbXBvcnQgeyB1c2VMb2NhbGUgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvTG9jYWxlJ1xuaW1wb3J0IHsgdXNlRm9ybSB9IGZyb20gJy4uL0Zvcm0vY29udGV4dCdcbmltcG9ydCB7IENoZWNrYm94SW5wdXQgfSBmcm9tICcuLi9maWVsZC10eXBlcy9DaGVja2JveC9JbnB1dCdcblxudHlwZSBOdWxsaWZ5TG9jYWxlRmllbGRQcm9wcyA9IHtcbiAgZmllbGRWYWx1ZT86IFtdIHwgbnVsbCB8IG51bWJlclxuICBsb2NhbGl6ZWQ6IGJvb2xlYW5cbiAgcGF0aDogc3RyaW5nXG59XG5leHBvcnQgY29uc3QgTnVsbGlmeUxvY2FsZUZpZWxkOiBSZWFjdC5GQzxOdWxsaWZ5TG9jYWxlRmllbGRQcm9wcz4gPSAoe1xuICBmaWVsZFZhbHVlLFxuICBsb2NhbGl6ZWQsXG4gIHBhdGgsXG59KSA9PiB7XG4gIGNvbnN0IHsgZGlzcGF0Y2hGaWVsZHMsIHNldE1vZGlmaWVkIH0gPSB1c2VGb3JtKClcbiAgY29uc3QgeyBjb2RlOiBjdXJyZW50TG9jYWxlIH0gPSB1c2VMb2NhbGUoKVxuICBjb25zdCB7IGxvY2FsaXphdGlvbiB9ID0gdXNlQ29uZmlnKClcbiAgY29uc3QgW2NoZWNrZWQsIHNldENoZWNrZWRdID0gUmVhY3QudXNlU3RhdGU8Ym9vbGVhbj4odHlwZW9mIGZpZWxkVmFsdWUgIT09ICdudW1iZXInKVxuICBjb25zdCBkZWZhdWx0TG9jYWxlID1cbiAgICBsb2NhbGl6YXRpb24gJiYgbG9jYWxpemF0aW9uLmRlZmF1bHRMb2NhbGUgPyBsb2NhbGl6YXRpb24uZGVmYXVsdExvY2FsZSA6ICdlbidcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbignZ2VuZXJhbCcpXG5cbiAgY29uc3Qgb25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgY29uc3QgdXNlRmFsbGJhY2sgPSAhY2hlY2tlZFxuXG4gICAgZGlzcGF0Y2hGaWVsZHMoe1xuICAgICAgcGF0aCxcbiAgICAgIHR5cGU6ICdVUERBVEUnLFxuICAgICAgdmFsdWU6IHVzZUZhbGxiYWNrID8gbnVsbCA6IGZpZWxkVmFsdWUgfHwgMCxcbiAgICB9KVxuICAgIHNldE1vZGlmaWVkKHRydWUpXG4gICAgc2V0Q2hlY2tlZCh1c2VGYWxsYmFjaylcbiAgfVxuXG4gIGlmICghbG9jYWxpemVkIHx8IGN1cnJlbnRMb2NhbGUgPT09IGRlZmF1bHRMb2NhbGUgfHwgKGxvY2FsaXphdGlvbiAmJiAhbG9jYWxpemF0aW9uLmZhbGxiYWNrKSkge1xuICAgIC8vIGhpZGUgd2hlbiBmaWVsZCBpcyBub3QgbG9jYWxpemVkIG9yIGVkaXRpbmcgZGVmYXVsdCBsb2NhbGUgb3Igd2hlbiBmYWxsYmFjayBpcyBkaXNhYmxlZFxuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBpZiAoZmllbGRWYWx1ZSkge1xuICAgIGxldCBoaWRlQ2hlY2tib3ggPSBmYWxzZVxuICAgIGlmICh0eXBlb2YgZmllbGRWYWx1ZSA9PT0gJ251bWJlcicgJiYgZmllbGRWYWx1ZSA+IDApIGhpZGVDaGVja2JveCA9IHRydWVcbiAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZFZhbHVlKSAmJiBmaWVsZFZhbHVlLmxlbmd0aCA+IDApIGhpZGVDaGVja2JveCA9IHRydWVcblxuICAgIGlmIChoaWRlQ2hlY2tib3gpIHtcbiAgICAgIGlmIChjaGVja2VkKSBzZXRDaGVja2VkKGZhbHNlKSAvLyB1bmNoZWNrIHdoZW4gZmllbGQgaGFzIHZhbHVlXG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPEJhbm5lcj5cbiAgICAgIDxDaGVja2JveElucHV0XG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgIGlkPXtgZmllbGQtJHtwYXRoLnJlcGxhY2UoL1xcLi9nLCAnX18nKX1gfVxuICAgICAgICBsYWJlbD17dCgnZmFsbGJhY2tUb0RlZmF1bHRMb2NhbGUnKX1cbiAgICAgICAgb25Ub2dnbGU9e29uQ2hhbmdlfVxuICAgICAgLz5cbiAgICA8L0Jhbm5lcj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIk51bGxpZnlMb2NhbGVGaWVsZCIsImZpZWxkVmFsdWUiLCJsb2NhbGl6ZWQiLCJwYXRoIiwiZGlzcGF0Y2hGaWVsZHMiLCJzZXRNb2RpZmllZCIsInVzZUZvcm0iLCJjb2RlIiwiY3VycmVudExvY2FsZSIsInVzZUxvY2FsZSIsImxvY2FsaXphdGlvbiIsInVzZUNvbmZpZyIsImNoZWNrZWQiLCJzZXRDaGVja2VkIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsImRlZmF1bHRMb2NhbGUiLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJvbkNoYW5nZSIsInVzZUZhbGxiYWNrIiwidHlwZSIsInZhbHVlIiwiZmFsbGJhY2siLCJoaWRlQ2hlY2tib3giLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJCYW5uZXIiLCJDaGVja2JveElucHV0IiwiaWQiLCJyZXBsYWNlIiwibGFiZWwiLCJvblRvZ2dsZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFjYUE7OztlQUFBQTs7OytEQWRVOzhCQUNRO3dCQUVSO3dCQUNHO3dCQUNBO3lCQUNGO3VCQUNNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPdkIsTUFBTUEscUJBQXdELENBQUMsRUFDcEVDLFVBQVUsRUFDVkMsU0FBUyxFQUNUQyxJQUFJLEVBQ0w7SUFDQyxNQUFNLEVBQUVDLGNBQWMsRUFBRUMsV0FBVyxFQUFFLEdBQUdDLElBQUFBLGdCQUFPO0lBQy9DLE1BQU0sRUFBRUMsTUFBTUMsYUFBYSxFQUFFLEdBQUdDLElBQUFBLGlCQUFTO0lBQ3pDLE1BQU0sRUFBRUMsWUFBWSxFQUFFLEdBQUdDLElBQUFBLGlCQUFTO0lBQ2xDLE1BQU0sQ0FBQ0MsU0FBU0MsV0FBVyxHQUFHQyxPQUFNQyxRQUFRLENBQVUsT0FBT2QsZUFBZTtJQUM1RSxNQUFNZSxnQkFDSk4sZ0JBQWdCQSxhQUFhTSxhQUFhLEdBQUdOLGFBQWFNLGFBQWEsR0FBRztJQUM1RSxNQUFNLEVBQUVDLENBQUMsRUFBRSxHQUFHQyxJQUFBQSw0QkFBYyxFQUFDO0lBRTdCLE1BQU1DLFdBQVc7UUFDZixNQUFNQyxjQUFjLENBQUNSO1FBRXJCUixlQUFlO1lBQ2JEO1lBQ0FrQixNQUFNO1lBQ05DLE9BQU9GLGNBQWMsT0FBT25CLGNBQWM7UUFDNUM7UUFDQUksWUFBWTtRQUNaUSxXQUFXTztJQUNiO0lBRUEsSUFBSSxDQUFDbEIsYUFBYU0sa0JBQWtCUSxpQkFBa0JOLGdCQUFnQixDQUFDQSxhQUFhYSxRQUFRLEVBQUc7UUFDN0YsMEZBQTBGO1FBQzFGLE9BQU87SUFDVDtJQUVBLElBQUl0QixZQUFZO1FBQ2QsSUFBSXVCLGVBQWU7UUFDbkIsSUFBSSxPQUFPdkIsZUFBZSxZQUFZQSxhQUFhLEdBQUd1QixlQUFlO1FBQ3JFLElBQUlDLE1BQU1DLE9BQU8sQ0FBQ3pCLGVBQWVBLFdBQVcwQixNQUFNLEdBQUcsR0FBR0gsZUFBZTtRQUV2RSxJQUFJQSxjQUFjO1lBQ2hCLElBQUlaLFNBQVNDLFdBQVcsT0FBTywrQkFBK0I7O1lBQzlELE9BQU87UUFDVDtJQUNGO0lBRUEscUJBQ0UscUJBQUNlLGNBQU0sc0JBQ0wscUJBQUNDLG9CQUFhO1FBQ1pqQixTQUFTQTtRQUNUa0IsSUFBSSxDQUFDLE1BQU0sRUFBRTNCLEtBQUs0QixPQUFPLENBQUMsT0FBTyxNQUFNLENBQUM7UUFDeENDLE9BQU9mLEVBQUU7UUFDVGdCLFVBQVVkOztBQUlsQiJ9