@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
77 lines (74 loc) • 2.52 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _data = require("@wordpress/data");
var _coreData = require("@wordpress/core-data");
var _components = require("@wordpress/components");
var _i18n = require("@wordpress/i18n");
var _constants = require("../../store/constants");
var _editorInterface = _interopRequireDefault(require("../editor-interface"));
var _provider = require("../provider");
var _sidebar = _interopRequireDefault(require("../sidebar"));
var _jsxRuntime = require("react/jsx-runtime");
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function Editor({
postType,
postId,
templateId,
settings,
children,
initialEdits,
// This could be part of the settings.
onActionPerformed,
// The following abstractions are not ideal but necessary
// to account for site editor and post editor differences for now.
extraContent,
extraSidebarPanels,
...props
}) {
const {
post,
template,
hasLoadedPost
} = (0, _data.useSelect)(select => {
const {
getEntityRecord,
hasFinishedResolution
} = select(_coreData.store);
return {
post: getEntityRecord('postType', postType, postId),
template: templateId ? getEntityRecord('postType', _constants.TEMPLATE_POST_TYPE, templateId) : undefined,
hasLoadedPost: hasFinishedResolution('getEntityRecord', ['postType', postType, postId])
};
}, [postType, postId, templateId]);
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
children: [hasLoadedPost && !post && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Notice, {
status: "warning",
isDismissible: false,
children: (0, _i18n.__)("You attempted to edit an item that doesn't exist. Perhaps it was deleted?")
}), !!post && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_provider.ExperimentalEditorProvider, {
post: post,
__unstableTemplate: template,
settings: settings,
initialEdits: initialEdits,
useSubRegistry: false,
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_editorInterface.default, {
...props,
children: extraContent
}), children, /*#__PURE__*/(0, _jsxRuntime.jsx)(_sidebar.default, {
onActionPerformed: onActionPerformed,
extraPanels: extraSidebarPanels
})]
})]
});
}
var _default = exports.default = Editor;
//# sourceMappingURL=index.js.map