From 49c505bcae8be70645aa41765f3ec7f18f170cff Mon Sep 17 00:00:00 2001 From: ramonjd Date: Mon, 23 May 2022 14:50:06 +1000 Subject: [PATCH] Reflects revert in https://github.com/WordPress/gutenberg/commit/6446878a1274725d7a759ee871abdd7a6537e815 And reverts https://github.com/WordPress/gutenberg/pull/40982 since it's related to the original issue: https://github.com/WordPress/gutenberg/issues/41161 --- .../src/components/media-placeholder/index.js | 2 - .../components/media-replace-flow/index.js | 2 - packages/block-library/src/image/edit.js | 54 +------------------ packages/block-library/src/image/image.js | 13 +---- 4 files changed, 3 insertions(+), 68 deletions(-) diff --git a/packages/block-editor/src/components/media-placeholder/index.js b/packages/block-editor/src/components/media-placeholder/index.js index ec516ff19cd9a..cdbd4a04aa331 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 7ed24f679703f..3e7e15977b0ae 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 d1e619e84e95d..3af2bfe7deffa 100644 --- a/packages/block-library/src/image/edit.js +++ b/packages/block-library/src/image/edit.js @@ -19,7 +19,7 @@ import { store as blockEditorStore, } from '@wordpress/block-editor'; import { useEffect, useRef, useState } from '@wordpress/element'; -import { __, sprintf } from '@wordpress/i18n'; +import { __ } from '@wordpress/i18n'; import { image as icon } from '@wordpress/icons'; /** @@ -85,20 +85,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 = window?.wp?.media?.attachment( id ) || {}; - return attachment.destroyed; -} - export function ImageEdit( { attributes, setAttributes, @@ -139,41 +125,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 ) { - noticeOperations.removeAllNotices(); - noticeOperations.createErrorNotice( - sprintf( - /* translators: %s url or missing image */ - __( 'Error loading image: %s' ), - url - ) - ); - // 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 ); @@ -372,8 +323,6 @@ export function ImageEdit( { containerRef={ ref } context={ context } clientId={ clientId } - onCloseModal={ onCloseModal } - onImageLoadError={ onImageError } /> ) } { ! url && ( @@ -390,7 +339,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 4011cf66904f8..4054b3f7aed1b 100644 --- a/packages/block-library/src/image/image.js +++ b/packages/block-library/src/image/image.js @@ -47,7 +47,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 @@ -76,14 +76,12 @@ export default function Image( { isSelected, insertBlocksAfter, onReplace, - onCloseModal, onSelectImage, onSelectURL, onUploadError, containerRef, context, clientId, - onImageLoadError, } ) { const imageRef = useRef(); const captionRef = useRef(); @@ -225,13 +223,10 @@ export default function Image( { // Check if there's an embed block that handles this URL, e.g., instagram URL. // See: https://github.com/WordPress/gutenberg/pull/11472 const embedBlock = createUpgradedEmbedBlock( { attributes: { url } } ); - const shouldReplace = undefined !== embedBlock; - if ( shouldReplace ) { + if ( undefined !== embedBlock ) { onReplace( embedBlock ); } - - onImageLoadError( shouldReplace ); } function onSetHref( props ) { @@ -303,9 +298,6 @@ export default function Image( { if ( ! isSelected ) { setIsEditingImage( false ); } - if ( isSelected && isMediaDestroyed( id ) ) { - onImageLoadError(); - } }, [ isSelected ] ); const canEditImage = id && naturalWidth && naturalHeight && imageEditing; @@ -369,7 +361,6 @@ export default function Image( { onSelect={ onSelectImage } onSelectURL={ onSelectURL } onError={ onUploadError } - onCloseModal={ onCloseModal } /> ) }