┌────────────────────────────────┐ │ ░░░ ░░▓ ░▓▓ ███ ▓▓░ ▓░░ │ │ ~ M O O N ~ │ └────────────────────────────────┘
prd-web-01.centraldc.gr
LOCATION:
/var/www/html/graviera-pro/wp-content/plugins/lazy-blocks/controls/image
☗ ROOT
↻ REFRESH
✎ EDIT FILE
EDITING: image-control.js
/* eslint-disable react/no-unused-state */ /** * WordPress dependencies. */ import { __ } from '@wordpress/i18n'; import { MediaPlaceholder } from '@wordpress/block-editor'; import { BaseControl, Button, DropZone, withNotices, } from '@wordpress/components'; import { useSelect } from '@wordpress/data'; const ALLOWED_MEDIA_TYPES = ['image']; function ImageControl(props) { const { label, value, previewSize, allowInsertFromURL, help, noticeOperations, noticeUI, onChange = () => {}, } = props; const { mediaUpload, imagePreviewData } = useSelect((select) => { const { getEntityRecord } = select('core'); let preview = false; if (value && Object.keys(value).length) { if (value.id) { const mediaImg = getEntityRecord('postType', 'attachment', value.id) || false; if (mediaImg) { preview = { alt: mediaImg.alt_text, url: mediaImg.source_url, }; if ( mediaImg.media_details && mediaImg.media_details.sizes && mediaImg.media_details.sizes[previewSize] ) { preview.url = mediaImg.media_details.sizes[ previewSize ].source_url; } } } else if (value.url) { preview = { url: value.url, }; } } return { mediaUpload: select('core/block-editor').getSettings().mediaUpload, imagePreviewData: preview, }; }); function onUploadError(message) { noticeOperations.removeAllNotices(); noticeOperations.createErrorNotice(message); } return ( <BaseControl id={label} label={label} help={help} __nextHasNoMarginBottom > <div className="lzb-gutenberg-image-wrap"> {!value || !Object.keys(value).length ? ( <MediaPlaceholder icon={ <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true" focusable="false" > <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V5c-.1-.3.1-.5.4-.5zm14 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z" /> </svg> } labels={{ title: label, name: __('image', 'lazy-blocks'), }} onSelect={(image) => { onChange(image); }} onSelectURL={ allowInsertFromURL ? (url) => { onChange({ url }); } : null } notices={noticeUI} accept="image/*" allowedTypes={ALLOWED_MEDIA_TYPES} disableMaxUploadErrorMessages onError={(message) => onUploadError(message)} /> ) : ( '' )} {value && Object.keys(value).length ? ( <div className="lzb-gutenberg-image"> <DropZone onFilesDrop={(files) => { mediaUpload({ allowedTypes: ALLOWED_MEDIA_TYPES, filesList: files, onFileChange: (image) => { onChange(image[0]); }, onError: (message) => { noticeOperations.createErrorNotice( message ); }, }); }} /> <div className="lzb-gutenberg-image-button"> <Button variant="secondary" size="small" onClick={() => { onChange(''); }} > {__('Remove Image', 'lazy-blocks')} </Button> </div> <div className="lzb-gutenberg-image-item" key={value.id || value.url} > {imagePreviewData.url ? ( <img src={imagePreviewData.url} alt={imagePreviewData.alt} /> ) : ( '' )} </div> </div> ) : ( '' )} </div> </BaseControl> ); } export default withNotices(ImageControl);
CANCEL
Name
Type
Size
Modified
Actions
↩ ..
DIR
—
—
📄 image-control.js
JS
3.7 KB
2026-05-20 08:40
EDIT
📄 index.php
PHP
3.6 KB
2026-05-20 08:40
EDIT
📄 script.js
JS
4 KB
2026-05-20 08:40
EDIT