@@ -91,14 +91,14 @@ function buildEmptyPayload(): LowcoderClipboardPayload {
9191 } ;
9292}
9393
94- export function writeHookOnlyToClipboard ( hookItems : ClipboardHookItem [ ] ) {
94+ export async function writeHookOnlyToClipboard ( hookItems : ClipboardHookItem [ ] ) : Promise < boolean > {
9595 const payload = buildEmptyPayload ( ) ;
9696 payload . hookItems = hookItems ;
97- writeToClipboard ( payload ) ;
97+ return writeToClipboard ( payload ) ;
9898}
9999
100100export class GridCompOperator {
101- static copyComp ( editorState : EditorState , compRecords : Record < string , Comp > ) {
101+ static async copyComp ( editorState : EditorState , compRecords : Record < string , Comp > ) : Promise < boolean > {
102102 const oldUi = editorState . getUIComp ( ) . getComp ( ) ;
103103 if ( ! oldUi ) {
104104 messageInstance . info ( trans ( "gridCompOperator.notSupport" ) ) ;
@@ -152,9 +152,13 @@ export class GridCompOperator {
152152 const payload = buildEmptyPayload ( ) ;
153153 payload . sourcePositionParams = sourcePositionParams ;
154154 payload . gridItems = gridItems ;
155- writeToClipboard ( payload ) ;
156-
157- return true ;
155+ const written = await writeToClipboard ( payload ) ;
156+ if ( written ) {
157+ messageInstance . success ( trans ( "gridCompOperator.copyCompsSuccess" , { compNum : gridItems . length } ) ) ;
158+ } else {
159+ messageInstance . error ( trans ( "gridCompOperator.clipboardWriteError" ) ) ;
160+ }
161+ return written ;
158162 }
159163
160164 static pasteFromPayload ( editorState : EditorState , payload : LowcoderClipboardPayload ) : boolean {
@@ -240,6 +244,7 @@ export class GridCompOperator {
240244 } )
241245 ) ;
242246 editorState . setSelectedCompNames ( copyCompNames ) ;
247+ messageInstance . success ( trans ( "gridCompOperator.pasteCompsSuccess" , { compNum : copyCompNames . size } ) ) ;
243248 return true ;
244249 }
245250
@@ -274,10 +279,11 @@ export class GridCompOperator {
274279 window . open ( APPLICATION_VIEW_URL ( applicationId , "edit" ) )
275280 }
276281
277- static cutComp ( editorState : EditorState , compRecords : Record < string , Comp > ) {
278- this . copyComp ( editorState , compRecords ) &&
279- this . doDelete ( editorState , compRecords ) &&
280- messageInstance . info ( trans ( "gridCompOperator.cutCompsSuccess" , { pasteKey, undoKey } ) ) ;
282+ static async cutComp ( editorState : EditorState , compRecords : Record < string , Comp > ) {
283+ const copied = await this . copyComp ( editorState , compRecords ) ;
284+ if ( copied && this . doDelete ( editorState , compRecords ) ) {
285+ messageInstance . info ( trans ( "gridCompOperator.cutCompsSuccess" , { pasteKey, undoKey } ) ) ;
286+ }
281287 }
282288
283289 private static doDelete ( editorState : EditorState , compRecords : Record < string , Comp > ) : boolean {
0 commit comments