From 6446878a1274725d7a759ee871abdd7a6537e815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Zieli=C5=84ski?= Date: Fri, 20 May 2022 13:40:58 +0200 Subject: [PATCH] Revert "Image: Reflect media deletion in the editor (#35973)" This reverts commit ee07bbf5081ace0597d7558fc37de066257024a2. --- .../src/components/media-placeholder/index.js | 2 - .../components/media-replace-flow/index.js | 2 - packages/block-library/src/image/edit.js | 44 ------------------- packages/block-library/src/image/image.js | 17 ++----- 4 files changed, 3 insertions(+), 62 deletions(-) diff --git a/packages/block-editor/src/components/media-placeholder/index.js b/packages/block-editor/src/components/media-placeholder/index.js index ec516ff19cd9af..cdbd4a04aa3319 100644 --- a/packages/block-editor/src/components/media-placeholder/index.js +++ b/packages/block-editor/src/components/media-placeholder/index.js @@ -73,7 +73,6 @@ export function MediaPlaceholder( { onDoubleClick, onFilesPreUpload = noop, onHTMLDrop = noop, - onClose = noop, children, mediaLibraryButton, placeholder, @@ -327,7 +326,6 @@ export function MediaPlaceholder( { gallery={ multiple && onlyAllowsImages() } multiple={ multiple } onSelect={ onSelect } - onClose={ onClose } allowedTypes={ allowedTypes } value={ Array.isArray( value ) diff --git a/packages/block-editor/src/components/media-replace-flow/index.js b/packages/block-editor/src/components/media-replace-flow/index.js index 7ed24f679703f0..3e7e15977b0aec 100644 --- a/packages/block-editor/src/components/media-replace-flow/index.js +++ b/packages/block-editor/src/components/media-replace-flow/index.js @@ -42,7 +42,6 @@ const MediaReplaceFlow = ( { onSelect, onSelectURL, onFilesUpload = noop, - onCloseModal = noop, name = __( 'Replace' ), createNotice, removeNotice, @@ -158,7 +157,6 @@ const MediaReplaceFlow = ( { selectMedia( media, onClose ) } allowedTypes={ allowedTypes } - onClose={ onCloseModal } render={ ( { open } ) => ( { __( 'Open Media Library' ) } diff --git a/packages/block-library/src/image/edit.js b/packages/block-library/src/image/edit.js index 96ef7c29943c44..ef3df5fcdb2caf 100644 --- a/packages/block-library/src/image/edit.js +++ b/packages/block-library/src/image/edit.js @@ -87,20 +87,6 @@ function hasDefaultSize( image, defaultSize ) { ); } -/** - * Checks if a media attachment object has been "destroyed", - * that is, removed from the media library. The core Media Library - * adds a `destroyed` property to a deleted attachment object in the media collection. - * - * @param {number} id The attachment id. - * - * @return {boolean} Whether the image has been destroyed. - */ -export function isMediaDestroyed( id ) { - const attachment = wp?.media?.attachment( id ) || {}; - return attachment.destroyed; -} - export function ImageEdit( { attributes, setAttributes, @@ -141,33 +127,6 @@ export function ImageEdit( { return pick( getSettings(), [ 'imageDefaultSize', 'mediaUpload' ] ); }, [] ); - // A callback passed to MediaUpload, - // fired when the media modal closes. - function onCloseModal() { - if ( isMediaDestroyed( attributes?.id ) ) { - setAttributes( { - url: undefined, - id: undefined, - } ); - } - } - - /* - Runs an error callback if the image does not load. - If the error callback is triggered, we infer that that image - has been deleted. - */ - function onImageError( isReplaced = false ) { - // If the image block was not replaced with an embed, - // clear the attributes and trigger the placeholder. - if ( ! isReplaced ) { - setAttributes( { - url: undefined, - id: undefined, - } ); - } - } - function onUploadError( message ) { noticeOperations.removeAllNotices(); noticeOperations.createErrorNotice( message ); @@ -366,8 +325,6 @@ export function ImageEdit( { containerRef={ ref } context={ context } clientId={ clientId } - onCloseModal={ onCloseModal } - onImageLoadError={ onImageError } /> ) } { ! url && ( @@ -384,7 +341,6 @@ export function ImageEdit( { onSelectURL={ onSelectURL } notices={ noticeUI } onError={ onUploadError } - onClose={ onCloseModal } accept="image/*" allowedTypes={ ALLOWED_MEDIA_TYPES } value={ { id, src } } diff --git a/packages/block-library/src/image/image.js b/packages/block-library/src/image/image.js index 0fa472afca503c..3903f8fa976b6b 100644 --- a/packages/block-library/src/image/image.js +++ b/packages/block-library/src/image/image.js @@ -43,7 +43,7 @@ import { store as coreStore } from '@wordpress/core-data'; */ import { createUpgradedEmbedBlock } from '../embed/util'; import useClientWidth from './use-client-width'; -import { isExternalImage, isMediaDestroyed } from './edit'; +import { isExternalImage } from './edit'; /** * Module constants @@ -72,14 +72,12 @@ export default function Image( { isSelected, insertBlocksAfter, onReplace, - onCloseModal, onSelectImage, onSelectURL, onUploadError, containerRef, context, clientId, - onImageLoadError, } ) { const imageRef = useRef(); const captionRef = useRef(); @@ -218,16 +216,11 @@ export default function Image( { } function onImageError() { - // Check if there's an embed block that handles this URL, e.g., instagram URL. - // See: https://github.com/WordPress/gutenberg/pull/11472 + // Check if there's an embed block that handles this URL. const embedBlock = createUpgradedEmbedBlock( { attributes: { url } } ); - const shouldReplace = undefined !== embedBlock; - - if ( shouldReplace ) { + if ( undefined !== embedBlock ) { onReplace( embedBlock ); } - - onImageLoadError( shouldReplace ); } function onSetHref( props ) { @@ -299,9 +292,6 @@ export default function Image( { if ( ! isSelected ) { setIsEditingImage( false ); } - if ( isSelected && isMediaDestroyed( id ) ) { - onImageLoadError(); - } }, [ isSelected ] ); const canEditImage = id && naturalWidth && naturalHeight && imageEditing; @@ -365,7 +355,6 @@ export default function Image( { onSelect={ onSelectImage } onSelectURL={ onSelectURL } onError={ onUploadError } - onCloseModal={ onCloseModal } /> ) }