$38 GRAYBYTE WORDPRESS FILE MANAGER $14

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/home/bravrvjk/dantho.rw/wp-content/plugins/extendify/src/Draft/hooks/

HOME
Current File : /home/bravrvjk/dantho.rw/wp-content/plugins/extendify/src/Draft/hooks//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() };
};


Current_dir [ WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
6 Nov 2025 10.43 AM
bravrvjk / bravrvjk
0755
useCompletion.js
1.368 KB
27 Aug 2025 5.47 PM
bravrvjk / bravrvjk
0644
useContentHighlight.js
0.688 KB
11 Oct 2023 6.07 AM
bravrvjk / bravrvjk
0644
useRouter.js
2.879 KB
28 Aug 2024 7.51 PM
bravrvjk / bravrvjk
0644
useSelectedText.js
0.968 KB
7 Oct 2025 8.14 PM
bravrvjk / bravrvjk
0644
useUnsplashImages.js
0.635 KB
19 May 2025 4.47 PM
bravrvjk / bravrvjk
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF