payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
187 lines (186 loc) • 15.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
DocumentDrawer: function() {
return DocumentDrawer;
},
DocumentDrawerToggler: function() {
return DocumentDrawerToggler;
},
baseClass: function() {
return baseClass;
},
useDocumentDrawer: function() {
return useDocumentDrawer;
}
});
const _modal = require("@faceless-ui/modal");
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
const _reacti18next = require("react-i18next");
const _getTranslation = require("../../../../utilities/getTranslation");
const _useRelatedCollections = require("../../forms/field-types/Relationship/AddNew/useRelatedCollections");
const _EditDepth = require("../../utilities/EditDepth");
const _Drawer = require("../Drawer");
const _DrawerContent = require("./DrawerContent");
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 = 'doc-drawer';
const formatDocumentDrawerSlug = ({ id, collectionSlug, depth, uuid })=>`doc-drawer_${collectionSlug}_${depth}${id ? `_${id}` : ''}_${uuid}`;
const DocumentDrawerToggler = ({ id, children, className, collectionSlug, disabled, drawerSlug, ...rest })=>{
const { i18n, t } = (0, _reacti18next.useTranslation)([
'fields',
'general'
]);
const [collectionConfig] = (0, _useRelatedCollections.useRelatedCollections)(collectionSlug);
return /*#__PURE__*/ _react.default.createElement(_Drawer.DrawerToggler, {
"aria-label": t(!id ? 'fields:addNewLabel' : 'general:editLabel', {
label: (0, _getTranslation.getTranslation)(collectionConfig.labels.singular, i18n)
}),
className: [
className,
`${baseClass}__toggler`
].filter(Boolean).join(' '),
disabled: disabled,
slug: drawerSlug,
...rest
}, children);
};
const DocumentDrawer = (props)=>{
const { drawerSlug } = props;
return /*#__PURE__*/ _react.default.createElement(_Drawer.Drawer, {
className: baseClass,
gutter: false,
header: false,
slug: drawerSlug
}, /*#__PURE__*/ _react.default.createElement(_DrawerContent.DocumentDrawerContent, props));
};
const useDocumentDrawer = ({ id, collectionSlug })=>{
const drawerDepth = (0, _EditDepth.useEditDepth)();
const uuid = (0, _react.useId)();
const { closeModal, modalState, openModal, toggleModal } = (0, _modal.useModal)();
const [isOpen, setIsOpen] = (0, _react.useState)(false);
const drawerSlug = formatDocumentDrawerSlug({
id,
collectionSlug,
depth: drawerDepth,
uuid
});
(0, _react.useEffect)(()=>{
setIsOpen(Boolean(modalState[drawerSlug]?.isOpen));
}, [
modalState,
drawerSlug
]);
const toggleDrawer = (0, _react.useCallback)(()=>{
toggleModal(drawerSlug);
}, [
toggleModal,
drawerSlug
]);
const closeDrawer = (0, _react.useCallback)(()=>{
closeModal(drawerSlug);
}, [
closeModal,
drawerSlug
]);
const openDrawer = (0, _react.useCallback)(()=>{
openModal(drawerSlug);
}, [
openModal,
drawerSlug
]);
const MemoizedDrawer = (0, _react.useMemo)(()=>{
return (props)=>/*#__PURE__*/ _react.default.createElement(DocumentDrawer, {
...props,
collectionSlug: collectionSlug,
drawerSlug: drawerSlug,
id: id,
key: drawerSlug
});
}, [
id,
drawerSlug,
collectionSlug
]);
const MemoizedDrawerToggler = (0, _react.useMemo)(()=>{
return (props)=>/*#__PURE__*/ _react.default.createElement(DocumentDrawerToggler, {
...props,
collectionSlug: collectionSlug,
drawerSlug: drawerSlug,
id: id
});
}, [
id,
drawerSlug,
collectionSlug
]);
const MemoizedDrawerState = (0, _react.useMemo)(()=>({
closeDrawer,
drawerDepth,
drawerSlug,
isDrawerOpen: isOpen,
openDrawer,
toggleDrawer
}), [
drawerDepth,
drawerSlug,
isOpen,
toggleDrawer,
closeDrawer,
openDrawer
]);
return [
MemoizedDrawer,
MemoizedDrawerToggler,
MemoizedDrawerState
];
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL0RvY3VtZW50RHJhd2VyL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VNb2RhbCB9IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VJZCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcblxuaW1wb3J0IHR5cGUgeyBEb2N1bWVudERyYXdlclByb3BzLCBEb2N1bWVudFRvZ2dsZXJQcm9wcywgVXNlRG9jdW1lbnREcmF3ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9nZXRUcmFuc2xhdGlvbidcbmltcG9ydCB7IHVzZVJlbGF0ZWRDb2xsZWN0aW9ucyB9IGZyb20gJy4uLy4uL2Zvcm1zL2ZpZWxkLXR5cGVzL1JlbGF0aW9uc2hpcC9BZGROZXcvdXNlUmVsYXRlZENvbGxlY3Rpb25zJ1xuaW1wb3J0IHsgdXNlRWRpdERlcHRoIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0VkaXREZXB0aCdcbmltcG9ydCB7IERyYXdlciwgRHJhd2VyVG9nZ2xlciB9IGZyb20gJy4uL0RyYXdlcidcbmltcG9ydCB7IERvY3VtZW50RHJhd2VyQ29udGVudCB9IGZyb20gJy4vRHJhd2VyQ29udGVudCdcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5leHBvcnQgY29uc3QgYmFzZUNsYXNzID0gJ2RvYy1kcmF3ZXInXG5cbmNvbnN0IGZvcm1hdERvY3VtZW50RHJhd2VyU2x1ZyA9ICh7XG4gIGlkLFxuICBjb2xsZWN0aW9uU2x1ZyxcbiAgZGVwdGgsXG4gIHV1aWQsXG59OiB7XG4gIGNvbGxlY3Rpb25TbHVnOiBzdHJpbmdcbiAgZGVwdGg6IG51bWJlclxuICBpZDogc3RyaW5nXG4gIHV1aWQ6IHN0cmluZyAvLyBzdXBwbHkgd2hlbiBjcmVhdGluZyBhIG5ldyBkb2N1bWVudCBhbmQgbm8gaWQgaXMgYXZhaWxhYmxlXG59KSA9PiBgZG9jLWRyYXdlcl8ke2NvbGxlY3Rpb25TbHVnfV8ke2RlcHRofSR7aWQgPyBgXyR7aWR9YCA6ICcnfV8ke3V1aWR9YFxuXG5leHBvcnQgY29uc3QgRG9jdW1lbnREcmF3ZXJUb2dnbGVyOiBSZWFjdC5GQzxEb2N1bWVudFRvZ2dsZXJQcm9wcz4gPSAoe1xuICBpZCxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgY29sbGVjdGlvblNsdWcsXG4gIGRpc2FibGVkLFxuICBkcmF3ZXJTbHVnLFxuICAuLi5yZXN0XG59KSA9PiB7XG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oWydmaWVsZHMnLCAnZ2VuZXJhbCddKVxuICBjb25zdCBbY29sbGVjdGlvbkNvbmZpZ10gPSB1c2VSZWxhdGVkQ29sbGVjdGlvbnMoY29sbGVjdGlvblNsdWcpXG5cbiAgcmV0dXJuIChcbiAgICA8RHJhd2VyVG9nZ2xlclxuICAgICAgYXJpYS1sYWJlbD17dCghaWQgPyAnZmllbGRzOmFkZE5ld0xhYmVsJyA6ICdnZW5lcmFsOmVkaXRMYWJlbCcsIHtcbiAgICAgICAgbGFiZWw6IGdldFRyYW5zbGF0aW9uKGNvbGxlY3Rpb25Db25maWcubGFiZWxzLnNpbmd1bGFyLCBpMThuKSxcbiAgICAgIH0pfVxuICAgICAgY2xhc3NOYW1lPXtbY2xhc3NOYW1lLCBgJHtiYXNlQ2xhc3N9X190b2dnbGVyYF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKX1cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIHNsdWc9e2RyYXdlclNsdWd9XG4gICAgICB7Li4ucmVzdH1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9EcmF3ZXJUb2dnbGVyPlxuICApXG59XG5cbmV4cG9ydCBjb25zdCBEb2N1bWVudERyYXdlcjogUmVhY3QuRkM8RG9jdW1lbnREcmF3ZXJQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBkcmF3ZXJTbHVnIH0gPSBwcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPERyYXdlciBjbGFzc05hbWU9e2Jhc2VDbGFzc30gZ3V0dGVyPXtmYWxzZX0gaGVhZGVyPXtmYWxzZX0gc2x1Zz17ZHJhd2VyU2x1Z30+XG4gICAgICA8RG9jdW1lbnREcmF3ZXJDb250ZW50IHsuLi5wcm9wc30gLz5cbiAgICA8L0RyYXdlcj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgdXNlRG9jdW1lbnREcmF3ZXI6IFVzZURvY3VtZW50RHJhd2VyID0gKHsgaWQsIGNvbGxlY3Rpb25TbHVnIH0pID0+IHtcbiAgY29uc3QgZHJhd2VyRGVwdGggPSB1c2VFZGl0RGVwdGgoKVxuICBjb25zdCB1dWlkID0gdXNlSWQoKVxuICBjb25zdCB7IGNsb3NlTW9kYWwsIG1vZGFsU3RhdGUsIG9wZW5Nb2RhbCwgdG9nZ2xlTW9kYWwgfSA9IHVzZU1vZGFsKClcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBkcmF3ZXJTbHVnID0gZm9ybWF0RG9jdW1lbnREcmF3ZXJTbHVnKHtcbiAgICBpZCxcbiAgICBjb2xsZWN0aW9uU2x1ZyxcbiAgICBkZXB0aDogZHJhd2VyRGVwdGgsXG4gICAgdXVpZCxcbiAgfSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldElzT3BlbihCb29sZWFuKG1vZGFsU3RhdGVbZHJhd2VyU2x1Z10/LmlzT3BlbikpXG4gIH0sIFttb2RhbFN0YXRlLCBkcmF3ZXJTbHVnXSlcblxuICBjb25zdCB0b2dnbGVEcmF3ZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgdG9nZ2xlTW9kYWwoZHJhd2VyU2x1ZylcbiAgfSwgW3RvZ2dsZU1vZGFsLCBkcmF3ZXJTbHVnXSlcblxuICBjb25zdCBjbG9zZURyYXdlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjbG9zZU1vZGFsKGRyYXdlclNsdWcpXG4gIH0sIFtjbG9zZU1vZGFsLCBkcmF3ZXJTbHVnXSlcblxuICBjb25zdCBvcGVuRHJhd2VyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIG9wZW5Nb2RhbChkcmF3ZXJTbHVnKVxuICB9LCBbb3Blbk1vZGFsLCBkcmF3ZXJTbHVnXSlcblxuICBjb25zdCBNZW1vaXplZERyYXdlciA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiAocHJvcHMpID0+IChcbiAgICAgIDxEb2N1bWVudERyYXdlclxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIGNvbGxlY3Rpb25TbHVnPXtjb2xsZWN0aW9uU2x1Z31cbiAgICAgICAgZHJhd2VyU2x1Zz17ZHJhd2VyU2x1Z31cbiAgICAgICAgaWQ9e2lkfVxuICAgICAgICBrZXk9e2RyYXdlclNsdWd9XG4gICAgICAvPlxuICAgIClcbiAgfSwgW2lkLCBkcmF3ZXJTbHVnLCBjb2xsZWN0aW9uU2x1Z10pXG5cbiAgY29uc3QgTWVtb2l6ZWREcmF3ZXJUb2dnbGVyID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIChwcm9wcykgPT4gKFxuICAgICAgPERvY3VtZW50RHJhd2VyVG9nZ2xlclxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIGNvbGxlY3Rpb25TbHVnPXtjb2xsZWN0aW9uU2x1Z31cbiAgICAgICAgZHJhd2VyU2x1Zz17ZHJhd2VyU2x1Z31cbiAgICAgICAgaWQ9e2lkfVxuICAgICAgLz5cbiAgICApXG4gIH0sIFtpZCwgZHJhd2VyU2x1ZywgY29sbGVjdGlvblNsdWddKVxuXG4gIGNvbnN0IE1lbW9pemVkRHJhd2VyU3RhdGUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBjbG9zZURyYXdlcixcbiAgICAgIGRyYXdlckRlcHRoLFxuICAgICAgZHJhd2VyU2x1ZyxcbiAgICAgIGlzRHJhd2VyT3BlbjogaXNPcGVuLFxuICAgICAgb3BlbkRyYXdlcixcbiAgICAgIHRvZ2dsZURyYXdlcixcbiAgICB9KSxcbiAgICBbZHJhd2VyRGVwdGgsIGRyYXdlclNsdWcsIGlzT3BlbiwgdG9nZ2xlRHJhd2VyLCBjbG9zZURyYXdlciwgb3BlbkRyYXdlcl0sXG4gIClcblxuICByZXR1cm4gW01lbW9pemVkRHJhd2VyLCBNZW1vaXplZERyYXdlclRvZ2dsZXIsIE1lbW9pemVkRHJhd2VyU3RhdGVdXG59XG4iXSwibmFtZXMiOlsiRG9jdW1lbnREcmF3ZXIiLCJEb2N1bWVudERyYXdlclRvZ2dsZXIiLCJiYXNlQ2xhc3MiLCJ1c2VEb2N1bWVudERyYXdlciIsImZvcm1hdERvY3VtZW50RHJhd2VyU2x1ZyIsImlkIiwiY29sbGVjdGlvblNsdWciLCJkZXB0aCIsInV1aWQiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsImRpc2FibGVkIiwiZHJhd2VyU2x1ZyIsInJlc3QiLCJpMThuIiwidCIsInVzZVRyYW5zbGF0aW9uIiwiY29sbGVjdGlvbkNvbmZpZyIsInVzZVJlbGF0ZWRDb2xsZWN0aW9ucyIsIkRyYXdlclRvZ2dsZXIiLCJhcmlhLWxhYmVsIiwibGFiZWwiLCJnZXRUcmFuc2xhdGlvbiIsImxhYmVscyIsInNpbmd1bGFyIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJzbHVnIiwicHJvcHMiLCJEcmF3ZXIiLCJndXR0ZXIiLCJoZWFkZXIiLCJEb2N1bWVudERyYXdlckNvbnRlbnQiLCJkcmF3ZXJEZXB0aCIsInVzZUVkaXREZXB0aCIsInVzZUlkIiwiY2xvc2VNb2RhbCIsIm1vZGFsU3RhdGUiLCJvcGVuTW9kYWwiLCJ0b2dnbGVNb2RhbCIsInVzZU1vZGFsIiwiaXNPcGVuIiwic2V0SXNPcGVuIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJ0b2dnbGVEcmF3ZXIiLCJ1c2VDYWxsYmFjayIsImNsb3NlRHJhd2VyIiwib3BlbkRyYXdlciIsIk1lbW9pemVkRHJhd2VyIiwidXNlTWVtbyIsImtleSIsIk1lbW9pemVkRHJhd2VyVG9nZ2xlciIsIk1l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