@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
46 lines (43 loc) • 1.76 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _element = require("@wordpress/element");
var _data = require("@wordpress/data");
var _coreData = require("@wordpress/core-data");
var _useBlockEditorSettings = _interopRequireDefault(require("./use-block-editor-settings.js"));
var _store = require("../../store");
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
const EMPTY_BLOCKS_LIST = [];
function useNativeBlockEditorSettings(settings, postType, postId) {
const editorSettings = (0, _useBlockEditorSettings.default)(settings, postType, postId);
const supportReusableBlock = settings.capabilities?.reusableBlock === true;
const {
reusableBlocks,
isTitleSelected
} = (0, _data.useSelect)(select => {
return {
reusableBlocks: supportReusableBlock ? select(_coreData.store).getEntityRecords('postType', 'wp_block',
// Unbounded queries are not supported on native so as a workaround, we set per_page with the maximum value that native version can handle.
// Related issue: https://github.com/wordpress-mobile/gutenberg-mobile/issues/2661
{
per_page: 100
}) : EMPTY_BLOCKS_LIST,
isTitleSelected: select(_store.store).isPostTitleSelected()
};
}, [supportReusableBlock]);
return (0, _element.useMemo)(() => ({
...editorSettings,
__experimentalReusableBlocks: reusableBlocks,
__experimentalShouldInsertAtTheTop: isTitleSelected
}), [editorSettings, reusableBlocks, isTitleSelected]);
}
var _default = exports.default = useNativeBlockEditorSettings;
//# sourceMappingURL=use-block-editor-settings.native.js.map