File tree Expand file tree Collapse file tree 3 files changed +16
-7
lines changed
packages/block-editor/src/components
inserter-draggable-blocks
test/e2e/specs/editor/blocks Expand file tree Collapse file tree 3 files changed +16
-7
lines changed Original file line number Diff line number Diff line change @@ -29,6 +29,15 @@ const InserterDraggableBlocks = ( {
29
29
blocks,
30
30
} ;
31
31
32
+ const blocksContainMedia =
33
+ blocks . filter (
34
+ ( block ) =>
35
+ ( block . name === 'core/image' ||
36
+ block . name === 'core/audio' ||
37
+ block . name === 'core/video' ) &&
38
+ ( block . attributes . url || block . attributes . src )
39
+ ) . length > 0 ;
40
+
32
41
const blockTypeIcon = useSelect (
33
42
( select ) => {
34
43
const { getBlockType } = select ( blocksStore ) ;
@@ -63,7 +72,7 @@ const InserterDraggableBlocks = ( {
63
72
? [ createBlock ( 'core/block' , { ref : pattern . id } ) ]
64
73
: blocks ;
65
74
event . dataTransfer . setData (
66
- 'text/html' ,
75
+ blocksContainMedia ? 'default' : 'text/html' ,
67
76
serialize ( parsedBlocks )
68
77
) ;
69
78
} }
Original file line number Diff line number Diff line change @@ -288,8 +288,10 @@ export function MediaPlaceholder( {
288
288
}
289
289
}
290
290
291
- async function onHTMLDrop ( HTML ) {
292
- const blocks = pasteHandler ( { HTML } ) ;
291
+ async function onDrop ( event ) {
292
+ const blocks = pasteHandler ( {
293
+ HTML : event . dataTransfer ?. getData ( 'default' ) ,
294
+ } ) ;
293
295
return await handleBlocksDrop ( blocks ) ;
294
296
}
295
297
@@ -379,9 +381,7 @@ export function MediaPlaceholder( {
379
381
return null ;
380
382
}
381
383
382
- return (
383
- < DropZone onFilesDrop = { onFilesUpload } onHTMLDrop = { onHTMLDrop } />
384
- ) ;
384
+ return < DropZone onFilesDrop = { onFilesUpload } onDrop = { onDrop } /> ;
385
385
} ;
386
386
387
387
const renderCancelLink = ( ) => {
Original file line number Diff line number Diff line change @@ -545,7 +545,7 @@ test.describe( 'Image', () => {
545
545
dummy . style . left = 0 ;
546
546
dummy . draggable = 'true' ;
547
547
dummy . addEventListener ( 'dragstart' , ( event ) => {
548
- event . dataTransfer . setData ( 'text/html ' , _html ) ;
548
+ event . dataTransfer . setData ( 'default ' , _html ) ;
549
549
setTimeout ( ( ) => {
550
550
dummy . remove ( ) ;
551
551
} , 0 ) ;
You can’t perform that action at this time.
0 commit comments