@@ -8,7 +8,7 @@ import { castArray, first, last, every } from 'lodash';
8
8
*/
9
9
import { compose } from '@wordpress/compose' ;
10
10
import { withSelect , withDispatch } from '@wordpress/data' ;
11
- import { cloneBlock , hasBlockSupport , switchToBlockType } from '@wordpress/blocks' ;
11
+ import { hasBlockSupport , switchToBlockType } from '@wordpress/blocks' ;
12
12
13
13
function BlockActions ( {
14
14
canDuplicate,
@@ -72,59 +72,29 @@ export default compose( [
72
72
withDispatch ( ( dispatch , props , { select } ) => {
73
73
const {
74
74
clientIds,
75
- rootClientId,
76
75
blocks,
77
- isLocked,
78
- canDuplicate,
79
76
} = props ;
80
77
81
78
const {
82
- insertBlocks,
83
- multiSelect,
84
79
removeBlocks,
85
- insertDefaultBlock,
86
80
replaceBlocks,
81
+ duplicateBlocks,
82
+ insertAfterBlock,
83
+ insertBeforeBlock,
87
84
} = dispatch ( 'core/block-editor' ) ;
88
85
89
86
return {
90
87
onDuplicate ( ) {
91
- if ( ! canDuplicate ) {
92
- return ;
93
- }
94
-
95
- const { getBlockIndex } = select ( 'core/block-editor' ) ;
96
- const lastSelectedIndex = getBlockIndex ( last ( castArray ( clientIds ) ) , rootClientId ) ;
97
- const clonedBlocks = blocks . map ( ( block ) => cloneBlock ( block ) ) ;
98
- insertBlocks (
99
- clonedBlocks ,
100
- lastSelectedIndex + 1 ,
101
- rootClientId
102
- ) ;
103
- if ( clonedBlocks . length > 1 ) {
104
- multiSelect (
105
- first ( clonedBlocks ) . clientId ,
106
- last ( clonedBlocks ) . clientId
107
- ) ;
108
- }
88
+ return duplicateBlocks ( clientIds ) ;
109
89
} ,
110
90
onRemove ( ) {
111
- if ( ! isLocked ) {
112
- removeBlocks ( clientIds ) ;
113
- }
91
+ removeBlocks ( clientIds ) ;
114
92
} ,
115
93
onInsertBefore ( ) {
116
- if ( ! isLocked ) {
117
- const { getBlockIndex } = select ( 'core/block-editor' ) ;
118
- const firstSelectedIndex = getBlockIndex ( first ( castArray ( clientIds ) ) , rootClientId ) ;
119
- insertDefaultBlock ( { } , rootClientId , firstSelectedIndex ) ;
120
- }
94
+ insertBeforeBlock ( first ( castArray ( clientIds ) ) ) ;
121
95
} ,
122
96
onInsertAfter ( ) {
123
- if ( ! isLocked ) {
124
- const { getBlockIndex } = select ( 'core/block-editor' ) ;
125
- const lastSelectedIndex = getBlockIndex ( last ( castArray ( clientIds ) ) , rootClientId ) ;
126
- insertDefaultBlock ( { } , rootClientId , lastSelectedIndex + 1 ) ;
127
- }
97
+ insertAfterBlock ( last ( castArray ( clientIds ) ) ) ;
128
98
} ,
129
99
onGroup ( ) {
130
100
if ( ! blocks . length ) {
0 commit comments