@@ -959,45 +959,48 @@ interface DropzoneHolderProps {
959959const DropzoneHolder = ( props : DropzoneHolderProps ) => {
960960 const [ dropzoneElementRef , setDropzoneElementRef ] = React . useState < HTMLIFrameElement | null > ( null )
961961
962- const onMessage = ( event : MessageEvent ) => {
963- // filter out messages from this panel
964- if ( event . source !== dropzoneElementRef ?. contentWindow ) return
965-
966- switch ( event . data ?. event ) {
967- case 'drop' :
968- RundownViewEventBus . emit ( RundownViewEvents . ITEM_DROPPED , {
969- id : props . id ,
970- bucketId : props . bucketId ,
971- ev : event ,
972- } )
973- if ( props . onDragLeave ) props . onDragLeave ( )
974- break
975- case 'data' :
976- if ( event . data . data . trim ( ) . endsWith ( '</mos>' ) ) {
962+ const onMessage = React . useCallback (
963+ ( event : MessageEvent ) => {
964+ // filter out messages from this panel
965+ if ( event . source !== dropzoneElementRef ?. contentWindow ) return
966+
967+ switch ( event . data ?. event ) {
968+ case 'drop' :
977969 RundownViewEventBus . emit ( RundownViewEvents . ITEM_DROPPED , {
978970 id : props . id ,
979971 bucketId : props . bucketId ,
980- message : event . data . data ,
981972 ev : event ,
982973 } )
983- }
984- break
985- case 'error' :
986- RundownViewEventBus . emit ( RundownViewEvents . ITEM_DROPPED , {
987- id : props . id ,
988- bucketId : props . bucketId ,
989- error : event . data . message ,
990- ev : event ,
991- } )
992- break
993- case 'dragEnter' :
994- if ( props . onDragEnter ) props . onDragEnter ( )
995- break
996- case 'dragLeave' :
997- if ( props . onDragLeave ) props . onDragLeave ( )
998- break
999- }
1000- }
974+ if ( props . onDragLeave ) props . onDragLeave ( )
975+ break
976+ case 'data' :
977+ if ( event . data . data . trim ( ) . endsWith ( '</mos>' ) ) {
978+ RundownViewEventBus . emit ( RundownViewEvents . ITEM_DROPPED , {
979+ id : props . id ,
980+ bucketId : props . bucketId ,
981+ message : event . data . data ,
982+ ev : event ,
983+ } )
984+ }
985+ break
986+ case 'error' :
987+ RundownViewEventBus . emit ( RundownViewEvents . ITEM_DROPPED , {
988+ id : props . id ,
989+ bucketId : props . bucketId ,
990+ error : event . data . message ,
991+ ev : event ,
992+ } )
993+ break
994+ case 'dragEnter' :
995+ if ( props . onDragEnter ) props . onDragEnter ( )
996+ break
997+ case 'dragLeave' :
998+ if ( props . onDragLeave ) props . onDragLeave ( )
999+ break
1000+ }
1001+ } ,
1002+ [ dropzoneElementRef , props . onDragEnter , props . onDragLeave ]
1003+ )
10011004
10021005 React . useEffect ( ( ) => {
10031006 if ( ! dropzoneElementRef ) return
0 commit comments