UNPKG

@wordpress/block-editor

Version:
58 lines (49 loc) 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useListViewClientIds; var _data = require("@wordpress/data"); var _store = require("../../store"); var _lockUnlock = require("../../lock-unlock"); /** * WordPress dependencies */ /** * Internal dependencies */ function useListViewClientIds({ blocks, rootClientId }) { return (0, _data.useSelect)(select => { const { getDraggedBlockClientIds, getSelectedBlockClientIds, __unstableGetClientIdsTree, getBlockEditingMode } = (0, _lockUnlock.unlock)(select(_store.store)); const removeDisabledBlocks = tree => { return tree.flatMap(({ clientId, innerBlocks, ...rest }) => { if (getBlockEditingMode(clientId) === 'disabled') { return removeDisabledBlocks(innerBlocks); } return [{ clientId, innerBlocks: removeDisabledBlocks(innerBlocks), ...rest }]; }); }; return { selectedClientIds: getSelectedBlockClientIds(), draggedClientIds: getDraggedBlockClientIds(), clientIdsTree: removeDisabledBlocks(blocks !== null && blocks !== void 0 ? blocks : __unstableGetClientIdsTree(rootClientId)) }; }, [blocks, rootClientId]); } //# sourceMappingURL=use-list-view-client-ids.js.map