Page Builder events The pattern for consuming Page Builder events in JavaScript, such as within the preview.js component, is to import Magento_PageBuilder/js/events and use the events.on() method to bind to the event you want to handle, as shown here:
Copy Copied to your clipboard
define ( [
'Magento_PageBuilder/js/events' ,
] , function ( events ) {
'use strict' ;
events . on ( "event:name" , function ( args ) {
} ) ;
} ) ;
Events list The following table lists the Page Builder events you can bind to and handle within your content type.
Content Type Events Stage Events
Column Events
Preview Events
Image Events
Other Events
Event details
contentType:* eventsEvents starting with contentType: are triggered for every content type on the stage. These events can also be called for specific content types by prefixing the content type's name before the event (name:event). For example:
text:createAfterrow:mountAftertab-item:mountAfter
contentType:createAfterCopy Copied to your clipboard
events . on ( "contentType:createAfter" , function ( params ) { } ) ;
Params Type id
string
contentType
ContentType or ContentTypeCollection
Back to top
contentType:mountAfter
ContentType Copy Copied to your clipboard
events . on ( "contentType:mountAfter" , function ( params ) { } ) ;
Params Type id
string
contentType
ContentType
ContentTypeCollection Copy Copied to your clipboard
events . on ( "contentType:mountAfter" , function ( params ) { } ) ;
Params Type id
string
contentType
ContentTypeCollection
expectChildren
number
Back to top
contentType:dropAfterCopy Copied to your clipboard
events . on ( "contentType:dropAfter" , function ( params ) { } ) ;
Params Type id
string
contentType
ContentType or ContentTypeCollection
Back to top
contentType:renderAfterCopy Copied to your clipboard
events . on ( "contentType:renderAfter" , function ( params ) { } ) ;
Params Type id
string
element
HTMLElement
contentType
ContentType or ContentTypeCollection
Back to top
contentType:removeAfterCopy Copied to your clipboard
events . on ( "contentType:removeAfter" , function ( params ) { } ) ;
Params Type contentType
ContentType or ContentTypeCollection
index
number
parentContentType
ContentType or ContentTypeCollection
stageId
string
Back to top
contentType:duplicateAfterCopy Copied to your clipboard
events . on ( "contentType:duplicateAfter" , function ( params ) { } ) ;
Params Type originalContentType
ContentType or ContentTypeCollection
duplicateContentType
ContentType or ContentTypeCollection
index
number
direct
boolean
Back to top
contentType:moveBeforeCopy Copied to your clipboard
events . on ( "contentType:moveBefore" , function ( params ) { } ) ;
Params Type contentType
ContentType
sourceParent
ContentTypeCollection
targetParent
ContentTypeCollection
targetIndex
number
stageId
string
Back to top
contentType:moveAfterCopy Copied to your clipboard
events . on ( "contentType:moveAfter" , function ( params ) { } ) ;
Params Type contentType
ContentType
sourceParent
ContentTypeCollection
targetParent
ContentTypeCollection
targetIndex
number
stageId
string
Back to top
contentType:redrawAfterCopy Copied to your clipboard
events . on ( "contentType:redrawAfter" , function ( params ) { } ) ;
Backend Params Type id
string
contentType
ContentType or ContentTypeCollection
Frontend Params Type element
HTMLElement
Back to top
column:dragStartCopy Copied to your clipboard
events . on ( "column:dragStart" , function ( params ) { } ) ;
Params Type column
ContentTypeCollection
stageId
string
Back to top
column:dragStopCopy Copied to your clipboard
events . on ( "column:dragStop" , function ( params ) { } ) ;
Params Type column
ContentTypeCollection
stageId
string
Back to top
column:initializeAfterCopy Copied to your clipboard
events . on ( "column:initializeAfter" , function ( params ) { } ) ;
Params Type column
Column
element
Element
columnGroup
ColumnGroup
Back to top
image:{{preview.contentType.id}}:assignAfterCopy Copied to your clipboard
events . on ( ` image: ${ this . contentType . id } :assignAfter ` , function ( params ) { } ) ;
Params Type imageObject
File
Back to top
image:mountAfterCopy Copied to your clipboard
events . on ( "image:mountAfter" , function ( params ) { } ) ;
Params Type id
string
contentType
ContentType
expectChildren
number
Back to top
image:uploadAfterCopy Copied to your clipboard
events . on ( "image:uploadAfter" , function ( params ) { } ) ;
Back to top
stage:{{preview.contentType.stageId}}:readyAfterCopy Copied to your clipboard
events . on ( ` stage: ${ this . contentType . stageId } :readyAfter ` , function ( params ) { } ) ;
Back to top
stage:{{preview.contentType.stageId}}:renderAfterCopy Copied to your clipboard
events . on ( ` stage: ${ this . contentType . stageId } :renderAfter ` , function ( params ) { } ) ;
Back to top
stage:interactionStartCopy Copied to your clipboard
events . on ( "stage:interactionStart" , function ( params ) { } ) ;
Back to top
stage:interactionStopCopy Copied to your clipboard
events . on ( "stage:interactionStop" , function ( params ) { } ) ;
Back to top
stage:{{preview.contentType.stageId}}:fullScreenModeChangeAfterCopy Copied to your clipboard
events . on ( ` stage: ${ this . contentType . stageId } :fullScreenModeChangeAfter ` , function ( params ) { } ) ;
Params Type fullScreen
boolean
Back to top
childContentType:sortStartCopy Copied to your clipboard
events . on ( "childContentType:sortStart" , function ( params ) { } ) ;
Params Type instance
ContentTypeCollection
originalPosition
number
ui
JQueryUI.SortableUIParams
Back to top
childContentType:sortUpdateCopy Copied to your clipboard
events . on ( "childContentType:sortUpdate" , function ( params ) { } ) ;
Params Type instance
ContentTypeCollection
newPosition
number
originalPosition
number
ui
JQueryUI.SortableUIParams
event
jQuery.Event
Back to top
stage:errorCopy Copied to your clipboard
events . on ( "stage:error" , function ( params ) { } ) ;
Back to top
stage:{{preview.contentType.stageId}}:readyAfterCopy Copied to your clipboard
events . on ( ` stage: ${ this . contentType . stageId } :readyAfter ` , function ( params ) { } ) ;
Back to top
stage:{{preview.contentType.stageId}}:masterFormatRenderAfterCopy Copied to your clipboard
events . on ( ` stage: ${ this . contentType . stageId } :masterFormatRenderAfter ` , function ( params ) { } ) ;
Params Type renderedOutput
string
Back to top
stage:updateAfterCopy Copied to your clipboard
events . on ( "stage:updateAfter" , function ( params ) { } ) ;
Back to top
stage:childFocusStartCopy Copied to your clipboard
events . on ( "stage:childFocusStart" , function ( ) { } ) ;
Back to top
stage:childFocusStopCopy Copied to your clipboard
events . on ( "stage:childFocusStop" , function ( ) { } ) ;
Back to top
stage:viewportChangeAfterTriggered on viewport changes in the Admin stage.
Handle this event to control in your content type's widget (widget.js) for cases in which your content type is rendered on the Admin stage from within a Block or Dynamic Block.
In these cases, Page Builder loads your widget, not the preview component, to the Admin stage. This means that your widget as to make changes to your content type when users change the viewports on the stage.
Copy Copied to your clipboard
events . on ( ` stage:viewportChangeAfter ` , function ( args ) { } ) ;
Args Type viewport
string
previousViewport
string
Back to top
stage:{{preview.contentType.stageId}}:viewportChangeAfterTriggered on viewport changes in the Admin stage.
Handle this event to control responsive changes to your content type from within your preview component.
Copy Copied to your clipboard
events . on ( ` stage: ${ this . contentType . stageId } :viewportChangeAfter ` , function ( args ) { } ) ;
Args Type viewport
string
previousViewport
string
Back to top
stateCopy Copied to your clipboard
events . on ( "state" , function ( params ) { } ) ;
Back to top
{{config.name}}:{{preview.contentType.id}}:updateAfterCopy Copied to your clipboard
events . on ( ` ${ this . config . name } : ${ this . contentType . id } :updateAfter ` , function ( params ) { } ) ;
Params Type contentType
ContentType
Back to top
googleMaps:authFailureCopy Copied to your clipboard
events . on ( "googleMaps:authFailure" , function ( ) { } ) ;
Back to top