X7ROOT File Manager
Current Path:
/home/iptvzxij/public_html/wp-content/plugins/extendify/src/Draft/hooks
home
/
iptvzxij
/
public_html
/
wp-content
/
plugins
/
extendify
/
src
/
Draft
/
hooks
/
📁
..
📄
useCompletion.js
(1.37 KB)
📄
useContentHighlight.js
(705 B)
📄
useRouter.js
(2.88 KB)
📄
useSelectedText.js
(991 B)
📄
useUnsplashImages.js
(650 B)
Editing: useSelectedText.js
import { store as blockEditorStore } from '@wordpress/block-editor'; import { useSelect } from '@wordpress/data'; import { useCallback } from '@wordpress/element'; const htmlToText = (html) => { try { const parser = new DOMParser(); const doc = parser.parseFromString(html, 'text/html'); return doc.body.textContent || ''; } catch (error) { return ''; } }; export const useSelectedText = () => { const { getSelectedBlockClientIds, getBlocksByClientId } = useSelect( (select) => select(blockEditorStore), [], ); const selectedBlockId = getSelectedBlockClientIds(); const getSelectedContent = useCallback(() => { const selectedBlocks = getBlocksByClientId(selectedBlockId); if (!selectedBlocks?.length) return ''; const raw = selectedBlocks .filter(Boolean) .map(({ attributes }) => attributes?.content ?? '') .join('\n\n'); return htmlToText(raw); }, [getBlocksByClientId, selectedBlockId]); return { selectedText: getSelectedContent().trim() }; };
Upload File
Create Folder