4
4
*/
5
5
6
6
import $ from "jquery" ;
7
+ import events from "Magento_PageBuilder/js/events" ;
7
8
import _ from "underscore" ;
8
9
import ContentTypeConfigInterface from "../../content-type-config.types" ;
9
10
import HideShowOption from "../../content-type-menu/hide-show-option" ;
@@ -12,6 +13,7 @@ import Toolbar, {ContentTypeToolbarPreviewInterface} from "../../content-type-to
12
13
import { OptionInterface } from "../../content-type-toolbar.types" ;
13
14
import ContentTypeInterface from "../../content-type.types" ;
14
15
import deferred , { DeferredInterface } from "../../utils/promise-deferred" ;
16
+ import { ContentTypeDroppedCreateEventParamsInterface } from "../content-type-events.types" ;
15
17
import ObservableUpdater from "../observable-updater" ;
16
18
import BasePreview from "../preview" ;
17
19
@@ -38,15 +40,6 @@ export default class Preview extends BasePreview implements ContentTypeToolbarPr
38
40
this ,
39
41
this . getToolbarOptions ( ) ,
40
42
) ;
41
-
42
- Promise . all ( [
43
- this . afterRenderDeferred . promise ,
44
- this . toolbar . afterRenderDeferred . promise ,
45
- ] ) . then ( ( [ element ] ) => {
46
- _ . defer ( ( ) => {
47
- $ ( element ) . focus ( ) ;
48
- } ) ;
49
- } ) ;
50
43
}
51
44
52
45
/**
@@ -79,6 +72,24 @@ export default class Preview extends BasePreview implements ContentTypeToolbarPr
79
72
this . afterRenderDeferred . resolve ( element ) ;
80
73
}
81
74
75
+ public bindEvents ( ) {
76
+ super . bindEvents ( ) ;
77
+
78
+ // When a heading is dropped for the first time show heading toolbar
79
+ events . on ( "heading:dropAfter" , ( args : ContentTypeDroppedCreateEventParamsInterface ) => {
80
+ if ( args . id === this . contentType . id ) {
81
+ Promise . all ( [
82
+ this . afterRenderDeferred . promise ,
83
+ this . toolbar . afterRenderDeferred . promise ,
84
+ ] ) . then ( ( [ element ] ) => {
85
+ _ . defer ( ( ) => {
86
+ $ ( element ) . focus ( ) ;
87
+ } ) ;
88
+ } ) ;
89
+ }
90
+ } ) ;
91
+ }
92
+
82
93
/**
83
94
* Build and return the tool bar options for heading
84
95
*
0 commit comments