UNPKG

@wordpress/block-editor

Version:
52 lines (46 loc) 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useBlockLock; var _data = require("@wordpress/data"); var _store = require("../../store"); /** * WordPress dependencies */ /** * Internal dependencies */ /** * Return details about the block lock status. * * @param {string} clientId The block client Id. * * @return {Object} Block lock status */ function useBlockLock(clientId) { return (0, _data.useSelect)(select => { const { canEditBlock, canMoveBlock, canRemoveBlock, canLockBlockType, getBlockName, getBlockRootClientId, getTemplateLock } = select(_store.store); const rootClientId = getBlockRootClientId(clientId); const canEdit = canEditBlock(clientId); const canMove = canMoveBlock(clientId, rootClientId); const canRemove = canRemoveBlock(clientId, rootClientId); return { canEdit, canMove, canRemove, canLock: canLockBlockType(getBlockName(clientId)), isContentLocked: getTemplateLock(clientId) === 'contentOnly', isLocked: !canEdit || !canMove || !canRemove }; }, [clientId]); } //# sourceMappingURL=use-block-lock.js.map