payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
131 lines (130 loc) • 13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return _default;
}
});
const _modal = require("@faceless-ui/modal");
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
const _reacti18next = require("react-i18next");
const _reactrouterdom = require("react-router-dom");
const _reacttoastify = require("react-toastify");
const _ = require("../../..");
const _getTranslation = require("../../../../../utilities/getTranslation");
const _api = require("../../../../api");
const _Config = require("../../../utilities/Config");
require("./index.scss");
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 baseClass = 'restore-version';
const modalSlug = 'restore-version';
const Restore = ({ className, collection, global, originalDocID, versionDate, versionID })=>{
const { routes: { admin, api }, serverURL } = (0, _Config.useConfig)();
const history = (0, _reactrouterdom.useHistory)();
const { toggleModal } = (0, _modal.useModal)();
const [processing, setProcessing] = (0, _react.useState)(false);
const { i18n, t } = (0, _reacti18next.useTranslation)('version');
let fetchURL = `${serverURL}${api}`;
let redirectURL;
let restoreMessage;
if (collection) {
fetchURL = `${fetchURL}/${collection.slug}/versions/${versionID}`;
redirectURL = `${admin}/collections/${collection.slug}/${originalDocID}`;
restoreMessage = t('aboutToRestore', {
label: (0, _getTranslation.getTranslation)(collection.labels.singular, i18n),
versionDate
});
}
if (global) {
fetchURL = `${fetchURL}/globals/${global.slug}/versions/${versionID}`;
redirectURL = `${admin}/globals/${global.slug}`;
restoreMessage = t('aboutToRestoreGlobal', {
label: (0, _getTranslation.getTranslation)(global.label, i18n),
versionDate
});
}
const handleRestore = (0, _react.useCallback)(async ()=>{
setProcessing(true);
const res = await _api.requests.post(fetchURL, {
headers: {
'Accept-Language': i18n.language
}
});
if (res.status === 200) {
const json = await res.json();
_reacttoastify.toast.success(json.message);
history.push(redirectURL);
} else {
_reacttoastify.toast.error(t('problemRestoringVersion'));
}
}, [
fetchURL,
history,
redirectURL,
t,
i18n
]);
return /*#__PURE__*/ _react.default.createElement(_react.Fragment, null, /*#__PURE__*/ _react.default.createElement(_.Pill, {
className: [
baseClass,
className
].filter(Boolean).join(' '),
onClick: ()=>toggleModal(modalSlug)
}, t('restoreThisVersion')), /*#__PURE__*/ _react.default.createElement(_modal.Modal, {
className: `${baseClass}__modal`,
slug: modalSlug
}, /*#__PURE__*/ _react.default.createElement(_.MinimalTemplate, {
className: `${baseClass}__modal-template`
}, /*#__PURE__*/ _react.default.createElement("h1", null, t('confirmVersionRestoration')), /*#__PURE__*/ _react.default.createElement("p", null, restoreMessage), /*#__PURE__*/ _react.default.createElement(_.Button, {
buttonStyle: "secondary",
onClick: processing ? undefined : ()=>toggleModal(modalSlug),
type: "button"
}, t('general:cancel')), /*#__PURE__*/ _react.default.createElement(_.Button, {
onClick: processing ? undefined : handleRestore
}, processing ? t('restoring') : t('general:confirm')))));
};
const _default = Restore;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL1ZlcnNpb24vUmVzdG9yZS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kYWwsIHVzZU1vZGFsIH0gZnJvbSAnQGZhY2VsZXNzLXVpL21vZGFsJ1xuaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCB1c2VDYWxsYmFjaywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IHVzZUhpc3RvcnkgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJ1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSdcblxuaW1wb3J0IHR5cGUgeyBQcm9wcyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IEJ1dHRvbiwgTWluaW1hbFRlbXBsYXRlLCBQaWxsIH0gZnJvbSAnLi4vLi4vLi4nXG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWxpdGllcy9nZXRUcmFuc2xhdGlvbidcbmltcG9ydCB7IHJlcXVlc3RzIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXBpJ1xuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL0NvbmZpZydcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAncmVzdG9yZS12ZXJzaW9uJ1xuY29uc3QgbW9kYWxTbHVnID0gJ3Jlc3RvcmUtdmVyc2lvbidcblxuY29uc3QgUmVzdG9yZTogUmVhY3QuRkM8UHJvcHM+ID0gKHtcbiAgY2xhc3NOYW1lLFxuICBjb2xsZWN0aW9uLFxuICBnbG9iYWwsXG4gIG9yaWdpbmFsRG9jSUQsXG4gIHZlcnNpb25EYXRlLFxuICB2ZXJzaW9uSUQsXG59KSA9PiB7XG4gIGNvbnN0IHtcbiAgICByb3V0ZXM6IHsgYWRtaW4sIGFwaSB9LFxuICAgIHNlcnZlclVSTCxcbiAgfSA9IHVzZUNvbmZpZygpXG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KClcbiAgY29uc3QgeyB0b2dnbGVNb2RhbCB9ID0gdXNlTW9kYWwoKVxuICBjb25zdCBbcHJvY2Vzc2luZywgc2V0UHJvY2Vzc2luZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgeyBpMThuLCB0IH0gPSB1c2VUcmFuc2xhdGlvbigndmVyc2lvbicpXG5cbiAgbGV0IGZldGNoVVJMID0gYCR7c2VydmVyVVJMfSR7YXBpfWBcbiAgbGV0IHJlZGlyZWN0VVJMOiBzdHJpbmdcbiAgbGV0IHJlc3RvcmVNZXNzYWdlOiBzdHJpbmdcblxuICBpZiAoY29sbGVjdGlvbikge1xuICAgIGZldGNoVVJMID0gYCR7ZmV0Y2hVUkx9LyR7Y29sbGVjdGlvbi5zbHVnfS92ZXJzaW9ucy8ke3ZlcnNpb25JRH1gXG4gICAgcmVkaXJlY3RVUkwgPSBgJHthZG1pbn0vY29sbGVjdGlvbnMvJHtjb2xsZWN0aW9uLnNsdWd9LyR7b3JpZ2luYWxEb2NJRH1gXG4gICAgcmVzdG9yZU1lc3NhZ2UgPSB0KCdhYm91dFRvUmVzdG9yZScsIHtcbiAgICAgIGxhYmVsOiBnZXRUcmFuc2xhdGlvbihjb2xsZWN0aW9uLmxhYmVscy5zaW5ndWxhciwgaTE4biksXG4gICAgICB2ZXJzaW9uRGF0ZSxcbiAgICB9KVxuICB9XG5cbiAgaWYgKGdsb2JhbCkge1xuICAgIGZldGNoVVJMID0gYCR7ZmV0Y2hVUkx9L2dsb2JhbHMvJHtnbG9iYWwuc2x1Z30vdmVyc2lvbnMvJHt2ZXJzaW9uSUR9YFxuICAgIHJlZGlyZWN0VVJMID0gYCR7YWRtaW59L2dsb2JhbHMvJHtnbG9iYWwuc2x1Z31gXG4gICAgcmVzdG9yZU1lc3NhZ2UgPSB0KCdhYm91dFRvUmVzdG9yZUdsb2JhbCcsIHtcbiAgICAgIGxhYmVsOiBnZXRUcmFuc2xhdGlvbihnbG9iYWwubGFiZWwsIGkxOG4pLFxuICAgICAgdmVyc2lvbkRhdGUsXG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVJlc3RvcmUgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgc2V0UHJvY2Vzc2luZyh0cnVlKVxuXG4gICAgY29uc3QgcmVzID0gYXdhaXQgcmVxdWVzdHMucG9zdChmZXRjaFVSTCwge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIGlmIChyZXMuc3RhdHVzID09PSAyMDApIHtcbiAgICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZXMuanNvbigpXG4gICAgICB0b2FzdC5zdWNjZXNzKGpzb24ubWVzc2FnZSlcbiAgICAgIGhpc3RvcnkucHVzaChyZWRpcmVjdFVSTClcbiAgICB9IGVsc2Uge1xuICAgICAgdG9hc3QuZXJyb3IodCgncHJvYmxlbVJlc3RvcmluZ1ZlcnNpb24nKSlcbiAgICB9XG4gIH0sIFtmZXRjaFVSTCwgaGlzdG9yeSwgcmVkaXJlY3RVUkwsIHQsIGkxOG5dKVxuXG4gIHJldHVybiAoXG4gICAgPEZyYWdtZW50PlxuICAgICAgPFBpbGxcbiAgICAgICAgY2xhc3NOYW1lPXtbYmFzZUNsYXNzLCBjbGFzc05hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHRvZ2dsZU1vZGFsKG1vZGFsU2x1Zyl9XG4gICAgICA+XG4gICAgICAgIHt0KCdyZXN0b3JlVGhpc1ZlcnNpb24nKX1cbiAgICAgIDwvUGlsbD5cbiAgICAgIDxNb2RhbCBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX21vZGFsYH0gc2x1Zz17bW9kYWxTbHVnfT5cbiAgICAgICAgPE1pbmltYWxUZW1wbGF0ZSBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX21vZGFsLXRlbXBsYXRlYH0+XG4gICAgICAgICAgPGgxPnt0KCdjb25maXJtVmVyc2lvblJlc3RvcmF0aW9uJyl9PC9oMT5cbiAgICAgICAgICA8cD57cmVzdG9yZU1lc3NhZ2V9PC9wPlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3Byb2Nlc3NpbmcgPyB1bmRlZmluZWQgOiAoKSA9PiB0b2dnbGVNb2RhbChtb2RhbFNsdWcpfVxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3QoJ2dlbmVyYWw6Y2FuY2VsJyl9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXtwcm9jZXNzaW5nID8gdW5kZWZpbmVkIDogaGFuZGxlUmVzdG9yZX0+XG4gICAgICAgICAgICB7cHJvY2Vzc2luZyA/IHQoJ3Jlc3RvcmluZycpIDogdCgnZ2VuZXJhbDpjb25maXJtJyl9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvTWluaW1hbFRlbXBsYXRlPlxuICAgICAgPC9Nb2RhbD5cbiAgICA8L0ZyYWdtZW50PlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IFJlc3RvcmVcbiJdLCJuYW1lcyI6WyJiYXNlQ2xhc3MiLCJtb2RhbFNsdWciLCJSZXN0b3JlIiwiY2xhc3NOYW1lIiwiY29sbGVjdGlvbiIsImdsb2JhbCIsIm9yaWdpbmFsRG9jSUQiLCJ2ZXJzaW9uRGF0ZSIsInZlcnNpb25JRCIsInJvdXRlcyIsImFkbWluIiwiYXBpIiwic2VydmVyVVJMIiwidXNlQ29uZmlnIiwiaGlzdG9yeSIsInVzZUhpc3RvcnkiLCJ0b2dnbGVNb2RhbCIsInVzZU1vZGFsIiwicHJvY2Vzc2luZyIsInNldFByb2Nlc3NpbmciLCJ1c2VTdGF0ZSIsImkxOG4iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJmZXRjaFVSTCIsInJlZGlyZWN0VVJMIiwicmVzdG9yZU1lc3NhZ2UiLCJzbHVnIiwibGFiZWwiLCJnZXRUcmFuc2xhdGlvbiIsImxhYmVscyIsInNpbmd1bGFyIiwiaGFuZGxlUmVzdG9yZSIsInVzZUNhbGxiYWNrIiwicmVzIiwicmVxdWVzdHMiLCJwb3N0IiwiaGVhZGVycyIsImxhbmd1YWdlIiwic3RhdHVzIiwianNvbiIsInRvYXN0Iiwic3VjY2VzcyIsIm1lc3NhZ2UiLCJwdXNoIiwiZXJyb3IiLCJGcmFnbWVudCIsIlBpbGwiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsIm9uQ2xpY2siLCJNb2RhbCIsIk1pbmltYWxUZW1wbGF0ZSIsImgxIiwicCIsIkJ1dHRvbiIsImJ1dHRvblN0eWxlIiwidW5kZWZpbmVkIiwidHlwZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFzR0E7OztlQUFBOzs7dUJBdEdnQzsrREFDdUI7OEJBQ3hCO2dDQUNKOytCQUNMO2tCQUl3QjtnQ0FDZjtxQkFDTjt3QkFDQztRQUNuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVAsTUFBTUEsWUFBWTtBQUNsQixNQUFNQyxZQUFZO0FBRWxCLE1BQU1DLFVBQTJCLENBQUMsRUFDaENDLFNBQVMsRUFDVEMsVUFBVSxFQUNWQyxNQUFNLEVBQ05DLGFBQWEsRUFDYkMsV0FBVyxFQUNYQyxTQUFTLEVBQ1Y7SUFDQyxNQUFNLEVBQ0pDLFFBQVEsRUFBRUMsS0FBSyxFQUFFQyxHQUFHLEVBQUUsRUFDdEJDLFNBQVMsRUFDVixHQUFHQyxJQUFBQSxpQkFBUztJQUNiLE1BQU1DLFVBQVVDLElBQUFBLDBCQUFVO0lBQzFCLE1BQU0sRUFBRUMsV0FBVyxFQUFFLEdBQUdDLElBQUFBLGVBQVE7SUFDaEMsTUFBTSxDQUFDQyxZQUFZQyxjQUFjLEdBQUdDLElBQUFBLGVBQVEsRUFBQztJQUM3QyxNQUFNLEVBQUVDLElBQUksRUFBRUMsQ0FBQyxFQUFFLEdBQUdDLElBQUFBLDRCQUFjLEVBQUM7SUFFbkMsSUFBSUMsV0FBVyxDQUFDLEVBQUVaLFVBQVUsRUFBRUQsSUFBSSxDQUFDO0lBQ25DLElBQUljO0lBQ0osSUFBSUM7SUFFSixJQUFJdEIsWUFBWTtRQUNkb0IsV0FBVyxDQUFDLEVBQUVBLFNBQVMsQ0FBQyxFQUFFcEIsV0FBV3VCLElBQUksQ0FBQyxVQUFVLEVBQUVuQixVQUFVLENBQUM7UUFDakVpQixjQUFjLENBQUMsRUFBRWYsTUFBTSxhQUFhLEVBQUVOLFdBQVd1QixJQUFJLENBQUMsQ0FBQyxFQUFFckIsY0FBYyxDQUFDO1FBQ3hFb0IsaUJBQWlCSixFQUFFLGtCQUFrQjtZQUNuQ00sT0FBT0MsSUFBQUEsOEJBQWMsRUFBQ3pCLFdBQVcwQixNQUFNLENBQUNDLFFBQVEsRUFBRVY7WUFDbERkO1FBQ0Y7SUFDRjtJQUVBLElBQUlGLFFBQVE7UUFDVm1CLFdBQVcsQ0FBQyxFQUFFQSxTQUFTLFNBQVMsRUFBRW5CLE9BQU9zQixJQUFJLENBQUMsVUFBVSxFQUFFbkIsVUFBVSxDQUFDO1FBQ3JFaUIsY0FBYyxDQUFDLEVBQUVmLE1BQU0sU0FBUyxFQUFFTCxPQUFPc0IsSUFBSSxDQUFDLENBQUM7UUFDL0NELGlCQUFpQkosRUFBRSx3QkFBd0I7WUFDekNNLE9BQU9DLElBQUFBLDhCQUFjLEVBQUN4QixPQUFPdUIsS0FBSyxFQUFFUDtZQUNwQ2Q7UUFDRjtJQUNGO0lBRUEsTUFBTXlCLGdCQUFnQkMsSUFBQUEsa0JBQVcsRUFBQztRQUNoQ2QsY0FBYztRQUVkLE1BQU1lLE1BQU0sTUFBTUMsYUFBUSxDQUFDQyxJQUFJLENBQUNaLFVBQVU7WUFDeENhLFNBQVM7Z0JBQ1AsbUJBQW1CaEIsS0FBS2lCLFFBQVE7WUFDbEM7UUFDRjtRQUVBLElBQUlKLElBQUlLLE1BQU0sS0FBSyxLQUFLO1lBQ3RCLE1BQU1DLE9BQU8sTUFBTU4sSUFBSU0sSUFBSTtZQUMzQkMsb0JBQUssQ0FBQ0MsT0FBTyxDQUFDRixLQUFLRyxPQUFPO1lBQzFCN0IsUUFBUThCLElBQUksQ0FBQ25CO1FBQ2YsT0FBTztZQUNMZ0Isb0JBQUssQ0FBQ0ksS0FBSyxDQUFDdkIsRUFBRTtRQUNoQjtJQUNGLEdBQUc7UUFBQ0U7UUFBVVY7UUFBU1c7UUFBYUg7UUFBR0Q7S0FBSztJQUU1QyxxQkFDRSw2QkFBQ3lCLGVBQVEsc0JBQ1AsNkJBQUNDLE1BQUk7UUFDSDVDLFdBQVc7WUFBQ0g7WUFBV0c7U0FBVSxDQUFDNkMsTUFBTSxDQUFDQyxTQUFTQyxJQUFJLENBQUM7UUFDdkRDLFNBQVMsSUFBTW5DLFlBQVlmO09BRTFCcUIsRUFBRSxzQ0FFTCw2QkFBQzhCLFlBQUs7UUFBQ2pELFdBQVcsQ0FBQyxFQUFFSCxVQUFVLE9BQU8sQ0FBQztRQUFFMkIsTUFBTTFCO3FCQUM3Qyw2QkFBQ29ELGlCQUFlO1FBQUNsRCxXQUFXLENBQUMsRUFBRUgsVUFBVSxnQkFBZ0IsQ0FBQztxQkFDeEQsNkJBQUNzRCxZQUFJaEMsRUFBRSw2Q0FDUCw2QkFBQ2lDLFdBQUc3QiwrQkFDSiw2QkFBQzhCLFFBQU07UUFDTEMsYUFBWTtRQUNaTixTQUFTakMsYUFBYXdDLFlBQVksSUFBTTFDLFlBQVlmO1FBQ3BEMEQsTUFBSztPQUVKckMsRUFBRSxrQ0FFTCw2QkFBQ2tDLFFBQU07UUFBQ0wsU0FBU2pDLGFBQWF3QyxZQUFZMUI7T0FDdkNkLGFBQWFJLEVBQUUsZUFBZUEsRUFBRTtBQU03QztNQUVBLFdBQWVwQiJ9