nl_tokens: Listens for post lock status changing to locked and overrides the modal dialog actions addind an event handler for the All Posts button and changing the Take Over Url to work inside the iframe .
pl_tokens: function handlePostLocked ( calypsoPort ) { const unsubscribe = subscribe ( ( ) => { const isLocked = <mask> ( 'core/editor' ) . isPostLocked ( ) ; const isLockTakeover = select ( 'core/editor' ) . isPostLockTakeover ( ) ; const lockedDialogButtons = document . querySelectorAll ( 'div.editor-post-locked-modal__buttons > a' ) ; const isPostTakeoverDialog = isLocked && ! isLockTakeover && lockedDialogButtons . length === 3 ; if ( isPostTakeoverDialog ) { //signal the parent frame to navigate to All Posts lockedDialogButtons [ 0 ] . addEventListener ( 'click' , event => { event . preventDefault ( ) ; calypsoPort . postMessage ( { action : 'goToAllPosts' } ) ; } , false ) ; //overrides the all posts link just in case the user treats the link... as a link. if ( calypsoifyGutenberg && calypsoifyGutenberg . closeUrl ) { lockedDialogButtons [ 0 ] . setAttribute ( 'target' , '_parent' ) ; lockedDialogButtons [ 0 ] . setAttribute ( 'href' , calypsoifyGutenberg . closeUrl ) ; } //changes the Take Over link url to add the frame-nonce lockedDialogButtons [ 2 ] . setAttribute ( 'href' , addQueryArgs ( lockedDialogButtons [ 2 ] . getAttribute ( 'href' ) , { calypsoify : 1 , 'frame-nonce' : getQueryArg ( window . location . href , 'frame-nonce' ) , } ) ) ; unsubscribe ( ) ; } } ) ; }