/**
* Get parent block data.
*
* @param {Object} rootBlock root block data
* @param {Object} currentBlock current block data
* @return {Object}
*/
export default function getParentBlock(rootBlock, currentBlock) {
if (rootBlock && rootBlock.clientId === currentBlock.clientId) {
return rootBlock;
}
let result = false;
// Check all inner blocks to find parent block.
if (rootBlock && rootBlock.innerBlocks && rootBlock.innerBlocks.length) {
rootBlock.innerBlocks.forEach((innerBlockData) => {
const innerParent = getParentBlock(innerBlockData, currentBlock);
if (!result && innerParent) {
result = innerParent.clientId === currentBlock.clientId ? rootBlock : innerParent;
}
});
}
return result;
}